- PR -

Datagridのイベントについて

1
投稿者投稿内容
にゃんぎ
常連さん
会議室デビュー日: 2004/03/31
投稿数: 35
投稿日時: 2004-04-19 16:03
いつもお世話になってます。

DataGridのイベントについてです。
DataGridのDataGridTextBoxColumnを利用して、Keypressイベントを設定しました。

とりあえず簡単に、メッセージボックスを表示してみたのですがEnterキーを押した時上手く反応しません。

EnterキーではDataGridTextBoxColumnでのKeyPressイベントは拾えないのでしょうか。

ご存知の方いましたらお教え下さい。
みゅう
常連さん
会議室デビュー日: 2004/04/14
投稿数: 49
お住まい・勤務地: 都内某所
投稿日時: 2004-04-19 16:26
引用:

にゃんぎさんの書き込み (2004-04-19 16:03) より:
DataGridのイベントについてです。
DataGridのDataGridTextBoxColumnを利用して、Keypressイベントを設定しました。


こんにちわ、みゅうです。

DataGridのDataGridTextBoxColumnのメンバにはKeypressイベントはありませんが
これはRaiseEventsしたということですよね?
ウィンドウメッセージを拾ってあげるような記述はされていますか?

にゃんぎ
常連さん
会議室デビュー日: 2004/03/31
投稿数: 35
投稿日時: 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/14
投稿数: 49
お住まい・勤務地: 都内某所
投稿日時: 2004-04-19 16:54
引用:

にゃんぎさんの書き込み (2004-04-19 16:32) より:
foreach(DataGridTextBoxColumn t
in dataGrid1.TableStyles[0].GridColumnStyles)
    {
      t.TextBox.r += new KeyEventHandler(this.t_KeyPress);
    }
言語によって違うのでしょうか?
C#.NETです。
KeyPressよりRiseEventというものを利用したほうがよろしいでしょうか。



こんにちわ、みゅうです。

C#.NETだったんですね^^;
VB.NETなお返事をしてしまいました。すみません。
C#は最近勉強し始めたばかりで申し訳ないですが良く分かりません。
RiseEvent はどうやらVBのみようです。。。

申し訳ありませんが、明確な回答が出来ないので参考程度にVBのお話を。
元々のクラスにイベントが無い場合、私の場合
ウインドメッセージを拾ってそれをきっかけとして
イベントを追加(発生させる)しそれを継承したクラスを
使用しています。
多分ココでは、キーボードからの入力に対してのメッセージを拾うんでしょうね。

本当に参考程度ですみません。

#「基本的に.NETに言語の壁は無い」と言われてるようですが、
#結構違うところが多いですよね^^;
#メソッドなど、期待しているものが無かったり・・・結構四苦八苦してます。
にゃんぎ
常連さん
会議室デビュー日: 2004/03/31
投稿数: 35
投稿日時: 2004-04-19 17:02
いえいえ、私が最初に言語を明確にしてなかったせいです。

やりたい事は、データグリッドのセル上にフォーカスがある場合、Enterを押すと一つ下のセルに移動する。というものです。

KeyPressでEnterキーコードを拾えたらなんとかなるかなーと思っていました。
ウィンドウメッセージを拾うとはどういったやり方でしょうか。

お手数ですが教えていただけると助かります。
みゅう
常連さん
会議室デビュー日: 2004/04/14
投稿数: 49
お住まい・勤務地: 都内某所
投稿日時: 2004-04-19 17:23
引用:

にゃんぎさんの書き込み (2004-04-19 17:02) より:
いえいえ、私が最初に言語を明確にしてなかったせいです。

やりたい事は、データグリッドのセル上にフォーカスがある場合、Enterを押すと一つ下のセルに移動する。というものです。

お手数ですが教えていただけると助かります。


こんにちわ、みゅうです。

言語間の相違はあるものの、他のページですが
にゃんぎさんのやられたい事、そのものズバリが掲載されていました。
私のコードは汚いので、こちらを参考にされたらよいかと思います。
http://www.mitene.or.jp/~sugisita/vbnet_smp.html

にゃんぎ
常連さん
会議室デビュー日: 2004/03/31
投稿数: 35
投稿日時: 2004-04-19 17:52
ありがとうございます!これで実現できそうです。

本当に助かりました!
にゃんぎ
常連さん
会議室デビュー日: 2004/03/31
投稿数: 35
投稿日時: 2004-04-20 12:11
みゅう様

教えていただいたURLを参考になんとか実現する事が出来ました。

大変ありがとうございました!
1

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