書き方法で右クリックにて セルの選択をしてコンテキストメニューを表示させて
cellに追加文字を追加させることをしてます。
Multiselect=false で 選択はfullselectrow です。
データバインドでdatatableをバインドさせてます。
.CurrentRowが前のままになってしまって データがずれてしまいます。
どのようにすれば currentrowがきちんと取得できるでしょうか?
Private Sub DataGridView1_CellMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDown
If e.Button = Windows.Forms.MouseButtons.Right Then
DataGridView1.ClearSelection()
If e.RowIndex < 0 Then Exit Sub
DataGridView1.Rows(e.RowIndex).Selected = True
End If
End Sub
No.1ベストアンサー
- 回答日時:
.CurrentRow と .Selected された行って別物ということですね。
.CurrentRow はカーソル ( 入力フォーカス ) がある行で、
.Selected はカーソルのある/なしにかかわらず選択 ( 反転表示 ) されている行のことです。
.CurrentRow を使用せずに、e.RowIndex、e.ColumnIndex を使用すればいいんじゃないか、と思ったりするのですが、.CurrentRow をクリックされた行にするのであれば、↓のようにすればできます。
If e.Button = Windows.Forms.MouseButtons.Right Then
DataGridView1.ClearSelection()
If e.RowIndex < 0 Then Exit Sub
With DataGridView1
Dim col As Integer
If e.ColumnIndex < 0 Then
col = 0
Else
col = e.ColumnIndex
End If
.CurrentCell = .Rows(e.RowIndex).Cells(col)
.Rows(e.RowIndex).Selected = True
End With
End If
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Visual Basic(VBA) EXCELのセル相互同期用のVBAでの不具合 3 2022/08/10 11:44
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの画面で十字マークが...
-
excelで、スクロールをすると限...
-
エクセルで連続データから、数...
-
セルをクリックすると付箋のよ...
-
エクセルでハイパーリンクのU...
-
EXCEL アルファベットと数字の...
-
エクセル 数値を全て「1」にす...
-
Excelの複数セル選択は、なぜ一...
-
エクセルでカーソルが四方に矢...
-
複数のセルの入力内容を一度に...
-
エクセル 画面上の行数を調節...
-
エクセルで0を除いて昇順に並...
-
エクセルVBAでセル範囲のデータ...
-
エクセルで任意のセルをクリッ...
-
エクセルVBA 複数行にまたがっ...
-
ピポットテーブルエラー解決方法
-
エクセルで1つおきに列を削除...
-
Excelで急に動かなくなる
-
エクセルVBAリストボックスに表...
-
エクセル2016の特定の文字列を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの画面で十字マークが...
-
excelで、スクロールをすると限...
-
エクセルで連続データから、数...
-
セルをクリックすると付箋のよ...
-
複数のセルの入力内容を一度に...
-
EXCEL アルファベットと数字の...
-
エクセルでハイパーリンクのU...
-
エクセル 数値を全て「1」にす...
-
Excelで表のデータを並び替えた...
-
エクセル 画面上の行数を調節...
-
Excel選択を繰り返すとセルの色...
-
エクセルでカーソルが四方に矢...
-
Shift押しながら、矢印ボタンで...
-
エクセルVBAでセル範囲のデータ...
-
エクセルで0を除いて昇順に並...
-
Excelで急に動かなくなる
-
エクセルの複数セルに同時に同...
-
フィルタを解除した後の表示位置
-
ピポットテーブルエラー解決方法
-
エクセルで「1~15」の乱数...
おすすめ情報