私を完全に困惑させた問題に遭遇しました。
多くの列と行を持つ動的に追加された DataGridView があり、達成しようとしているのは mouse_up で、選択したセルにボタンを描画したいです。たとえば、row3 の最初の 3 つのセルを選択すると、3 つのセルの上にボタンを描画する必要があります。
選択した各セルの X と Y を使用してボタン列に変換しようとしましたが、うまくいきませんでした。私が現在持っているのは、画面にボタンを追加するだけのサンプルコードですが、画面には表示されません (したがって、タイトル)。画面にボタンが表示されたら、選択したセルの上にボタンを描画しようとしますが、最初にこのハードルを乗り越える必要があります
これは私が使用しているコードです:
'I dynamically add the DataGridView
Grid = New DataGridView
Grid.Dock = DockStyle.Fill
Grid.BackgroundColor = Color.White
Grid.RowHeadersVisible = False
Grid.AllowUserToOrderColumns = False
Grid.AllowUserToResizeRows = False
...
TabControl.SelectedTab.Controls.Add(Grid)
AddHandler Grid.CellMouseUp, AddressOf Grid_MouseUp
...
'On mouse up it calls the sub to add buttons
Private Sub Grid_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs)
Dim i As Integer
For i = 1 To 30
NewButton(i) 'calls the dub
Next i
End Sub
'これはサブです
Private Sub NewButton(ByVal ButtonNumber As Integer)
Dim oButton As Button
oButton = New Button
oButton.Enabled = True
oButton.Location = New Point(ButtonNumber + 50, ButtonNumber + 50)
oButton.Name = "MyButton" & ButtonNumber.ToString
oButton.Size = New Size(75, 23)
oButton.Text = "Button" & ButtonNumber.ToString
oButton.Visible = True
oButton.Tag = ButtonNumber
TabControl.SelectedTab.Controls.Add(oButton)
End Sub
この機能を実現するために何を変更する必要があるかを提案していただければ幸いです。
御時間ありがとうございます