- - PR -
[Win]DataGridで対応しているキー操作について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-12-10 15:54
お手数かけます。
Windwos.Forms.DataGridで対応しているキー操作(特殊キー)の情報を必要としています。 一覧情報の掲載先などご存知でしたら教えて下さい。 | ||||
|
投稿日時: 2004-12-11 19:35
DataGridコントロールはすべて普通キーみたいなので、(そこだけを見ると)プリプロセスのProcessDialogKeyメソッドでは処理されないようです。ただし、DataGridコントロールの中にTextBoxコントロールなどが配置されるので、これがプリプロセスされます(と思います)。
DataGridコントロールはほとんど自らキー処理をしてしまいます。 DataGridコントロールでは、プリプロセスされるキーにつていは、自身のProcessDialogKeyメソッドで処理し、プリプロセスされないキーは自身のProcessKeyPreviewメソッドで処理するようです。 よって、コントロールを継承してこれらのメソッドをオーバーライドして 基本クラス(DataGrid)のメソッドを呼ぶ前に、独自の処理を実行するようにすればよいでしょう。 また、キー処理をまとめて、もしくは継承なしで行うには、プリプロセスで最初に呼び出されるProcessCmdKeyメソッドをオーバーライドするとよいです。このオーバーライドは、フォームかコントロールで行います。 ProcessCmdKeyメソッドはWindowsメッセージを判別して処理する必要があるので、その知識が必要になります。以下はサンプル・コード。
DataGridのキー操作なら、ほかにも同じ内容の書き込みがいくつかありますよ。 例えばこれ↓ 件名:DataGridでのTabキー押下処理について | ||||
|
投稿日時: 2004-12-11 20:35
masaさんレスありがとうございます。
サンプルまでご提示いただき、ありがとうございます。 ご指摘のように、DataGridでは内部でキーを処理しています。 現在、DataGridに組み込むカスタムコントロールを作成中で、 ある程度の特殊キーを拾い出し、また組み込むことに成功していますが、 今回、この対応に漏れがないかを確認する為、 内部で処理されるキーの一覧が整理されたものがあればと考え、 お尋ねしました。 お手数かけて恐縮です。 | ||||
|
投稿日時: 2004-12-12 14:58
自己レスです。
MSDNに一覧表が掲載されているのを見つけました。 Windows フォームの DataGrid コントロール内の移動に使用できるキーボード ショートカット お手数かけました。 |
1