- - PR -
DetaGridViewのCellのクリックをシミュレートする方法
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-06-19 13:30
はじめまして。 VB.NET初心者です。
DetaGridViewのCellのクリックをシミュレートする方法が分かりません。 よろしくお願いします。 具体的にやりたいことを書きますと、Formに DataGridViewとPictureBoxとTextBoxを配置しています。 初期状態で、DataGridView.Item(0,0)のイメージがPictureBoxに 表示されています。DataGridView.Item(1,0)が選択状態です。 TextBoxにカーソルがあります。 TextBoxに入力して、Enterを押すと、入力された文字列が DataGridView.Item(1,0)に表示されて、Cellの選択が DataGridView.Item(1,1)に移ります。それと同時に、 DataGridView.Item(0,1)のイメージがPictureBoxに表示されます。 カーソルはTextBoxにあります。 今は、DataGridView.Item(1,1)をマウスでクリックすると、Cellの 選択がDataGridView.Item(1,1)に移り、DataGridView.Item(0,1)の イメージがPictureBoxに表示されるようになっています。 TextBoxでEnterを押したときに、DataGridView.Item(1,1)がクリック されたように、プログラムで記述したいのですが、上手くいきません。 開発環境は、VB2005です。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 2007-06-19 14:00
現在、これをどうやって実装しているのかわかりませんが、 CurrentCellChanged イベントをハンドルしているのなら、 コードから CurrentCell を変更しても発生しますので、 Cell のクリックをシミュレートするのではなく、 カレントセルを(1, 1)に変更すればいいような気がします。
そうでないなら、CurrentCell 変更後に、 ピクチャボックスのイメージを差し替える処理を呼び出せばよいでしょう。 | ||||||||||||
|
投稿日時: 2007-06-19 14:59
KIさん、早速のレスポンス、ありがとうございます。
CellClickやCellEnterやSelectionChangedのイベントを ハンドルしていました。 CellClickのイベントハンドルで、マウスでクリックした ときは、上手く動作していましたので、Cellのクリック のシミュレーションばかり考えていました。
この方法で上手く行きそうです。 どうもありがとうございました。 | ||||||||||||
|
投稿日時: 2007-06-19 15:46
蛇足かも知れませんが、念のため付け足しておきます。 DataGridView はマウスクリックだけではなく、 キーボード操作でも、カレントセルを移動できます。 (矢印キー, Enter, Tabなど) また、SelectionChanged などで扱う選択されたセルは、 カレントセルとは別の概念です。 (カレントセルは常に1つですが、選択されたセルは複数になることがあります) その辺りを考慮して、適切な1つのイベントを ハンドルする方向で考えたほうがよいと思います。 | ||||||||||||
|
投稿日時: 2007-06-20 10:51
KIさん、アドバイスどうもありがとうございます。
ハンドルするイベントが適当でないため、どうも理解不能な動きを していました。 イベントにつきましては、思い込みで使わないようにします。 |
1