Как отключить и получить имя для элемента управления в FlowLayoutPanel из ContextMenuStrip в VB.Net
Моя программа содержит кнопки в FlowLayoutPanel
,
Я хочу отключить любую кнопку, если щелкнуть по ней правой кнопкой мыши и нажать "Отключить" в ContextMenuStrip
,
Мой код:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i As Integer = 0 To 30
Dim btn As New Button
btn.Name = i
btn.Text = i
btn.ContextMenuStrip = ContextMenuStrip1
FlowLayoutPanel1.Controls.Add(btn)
Next
End Sub
End Class
1 ответ
Решение
Объявить публичную переменную для сохранения контроля
public ctrl as button = nothing
Вы можете создать правый клик, поместив этот код на мышь вниз...
If e.Button <> Windows.Forms.MouseButtons.Right Then Return
Dim cms = New ContextMenuStrip
ctrl = sender
Dim item1 = cms.Items.Add("Disable")
item1.Tag = 1
AddHandler item1.Click, AddressOf Disable
end if
и в сабвуфере вы можете кодировать как это...
Private Sub Disable()
ctrl.enabled = false
End Sub