- - PR -
Datagridのイベントについて
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-04-19 16:03
いつもお世話になってます。
DataGridのイベントについてです。 DataGridのDataGridTextBoxColumnを利用して、Keypressイベントを設定しました。 とりあえず簡単に、メッセージボックスを表示してみたのですがEnterキーを押した時上手く反応しません。 EnterキーではDataGridTextBoxColumnでのKeyPressイベントは拾えないのでしょうか。 ご存知の方いましたらお教え下さい。 | ||||
|
投稿日時: 2004-04-19 16:26
こんにちわ、みゅうです。 DataGridのDataGridTextBoxColumnのメンバにはKeypressイベントはありませんが これはRaiseEventsしたということですよね? ウィンドウメッセージを拾ってあげるような記述はされていますか? | ||||
|
投稿日時: 2004-04-19 16:32
いえ、KeyPressで取得しました。
ソース foreach(DataGridTextBoxColumn t in dataGrid1.TableStyles[0].GridColumnStyles) { t.TextBox.r += new KeyEventHandler(this.t_KeyPress); } 言語によって違うのでしょうか? C#.NETです。 動かしてるメソッドは、押したキーコードをメッセージボックスで表示しているだけの簡単なものです。 KeyPressよりRiseEventというものを利用したほうがよろしいでしょうか。 | ||||
|
投稿日時: 2004-04-19 16:54
こんにちわ、みゅうです。 C#.NETだったんですね^^; VB.NETなお返事をしてしまいました。すみません。 C#は最近勉強し始めたばかりで申し訳ないですが良く分かりません。 RiseEvent はどうやらVBのみようです。。。 申し訳ありませんが、明確な回答が出来ないので参考程度にVBのお話を。 元々のクラスにイベントが無い場合、私の場合 ウインドメッセージを拾ってそれをきっかけとして イベントを追加(発生させる)しそれを継承したクラスを 使用しています。 多分ココでは、キーボードからの入力に対してのメッセージを拾うんでしょうね。 本当に参考程度ですみません。 #「基本的に.NETに言語の壁は無い」と言われてるようですが、 #結構違うところが多いですよね^^; #メソッドなど、期待しているものが無かったり・・・結構四苦八苦してます。 | ||||
|
投稿日時: 2004-04-19 17:02
いえいえ、私が最初に言語を明確にしてなかったせいです。
やりたい事は、データグリッドのセル上にフォーカスがある場合、Enterを押すと一つ下のセルに移動する。というものです。 KeyPressでEnterキーコードを拾えたらなんとかなるかなーと思っていました。 ウィンドウメッセージを拾うとはどういったやり方でしょうか。 お手数ですが教えていただけると助かります。 | ||||
|
投稿日時: 2004-04-19 17:23
こんにちわ、みゅうです。 言語間の相違はあるものの、他のページですが にゃんぎさんのやられたい事、そのものズバリが掲載されていました。 私のコードは汚いので、こちらを参考にされたらよいかと思います。 http://www.mitene.or.jp/~sugisita/vbnet_smp.html | ||||
|
投稿日時: 2004-04-19 17:52
ありがとうございます!これで実現できそうです。
本当に助かりました! | ||||
|
投稿日時: 2004-04-20 12:11
みゅう様
教えていただいたURLを参考になんとか実現する事が出来ました。 大変ありがとうございました! | ||||
1
