- PR -

スペースキーの判断がつきません。

1
投稿者投稿内容
会議室デビュー日: 2009/03/09
投稿数: 1
投稿日時: 2009-03-09 17:57
すみません、教えてください。
 
DataGridVeiwにて、スペースが押されたら編集モードになるように実装しましたが、うまくいきません。

ProcessCmdKeyイベントを派生させ、Keysを取得しKeys.Spaceかどうか判断しています。
スペースと判断し既に入力されている場合は、入力内容を選択状態で編集モードに入ります。一回目はうまくいきます。

ですが、別の行を指定してしてスペースを押すと、なぜかスペース二個分が入力された状態で編集モードに入ります。既に入力されていた内容も消してしまいます。

実際にどんなキーとして処理をしているか、デバッグで追ったところ、
ProcessKeyとなっておりました。

その後も全てProcessKeyと判断されてしまいました。

この現状の原因がわかる方いらっしゃいましたら、対象方法を教えてください。

宜しくお願い致します。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2009-03-09 18:17
引用:

大さんの書き込み (2009-03-09 17:57) より:

ProcessCmdKeyイベントを派生させ、Keysを取得しKeys.Spaceかどうか判断しています。


なぜ ProcessCmdKey メソッドなのでしょうか? 派生クラス側であれば ProcessDataGridViewKey メソッドあたりをオーバーライドするのが適切だと思いますが... (ダイアログ キーなら ProcessDialogKey)。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)