C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: DataGridViewの右クリック選択


(過去ログ 105 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■62827 / inTopicNo.1)  DataGridViewの右クリック選択
  
□投稿者/ やまじ (1回)-(2011/11/04(Fri) 20:52:00)

分類:[VB.NET/VB2005 以降] 

VB2010のDataGridViewについて質問させてください。

右クリックでDataGridViewの行を選択できるようにしたいのですが実現できません。
書いたソースは以下です。

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DataGridView1.Rows.Add({"a1", "a2"})
        DataGridView1.Rows.Add({"b1", "b2"})
    End Sub

    Private Sub DataGridView1_CellMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDown
        If e.Button = MouseButtons.Right Then
            DataGridView1.ClearSelection()
            DataGridView1.Rows(e.RowIndex).Selected = True

            '右クリックでの選択前のセルのValue値が表示される
            MsgBox(DataGridView1.CurrentCell.Value)
        End If
    End Sub
End Class



このソースだと、DataGridViewを右クリックすると、
確かに選択した行が青色に反転し、一見選択できているように見えるのですが
MsgBoxで表示されるCurrentCellのValue値は、
右クリック前の選択セルの値が表示されてしまいます。

見かけ上だけでなく、内部的にもDataGridViewの選択行を変更する事は可能なのでしょうか?


勉強不足で申し訳ありませんが、ご回答よろしくお願いします。

引用返信 編集キー/
■62836 / inTopicNo.2)  Re[1]: DataGridViewの右クリック選択
□投稿者/ ともき (2回)-(2011/11/05(Sat) 08:04:14)
DataGridView1.CurrentCell = DataGridView1.Item(e.ColumnIndex, e.RowIndex)

メッセージボックスが表示されるまでの間に↑を実行するとよろしいかと思います。
引用返信 編集キー/
■62842 / inTopicNo.3)  Re[2]: DataGridViewの右クリック選択
□投稿者/ やまじ (2回)-(2011/11/05(Sat) 13:49:07)
ともきさんのアドバイスの通り実装したところ、
期待通りの動作をすることが確認できました。

大変助かりました。
ご回答ありがとうございました。

No62836 (ともき さん) に返信
> DataGridView1.CurrentCell = DataGridView1.Item(e.ColumnIndex, e.RowIndex)
>
> メッセージボックスが表示されるまでの間に↑を実行するとよろしいかと思います。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -