Как отключить и получить имя для элемента управления в FlowLayoutPanel из ContextMenuStrip в VB.Net - PullRequest
0 голосов
/ 01 октября 2018

Моя программа содержит кнопки 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

enter image description here

1 Ответ

0 голосов
/ 01 октября 2018

объявить публичную переменную для хранения элемента управления

    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 

и в подпункте diableВы можете кодировать как это ...

Private Sub Disable()
    ctrl.enabled = false
End Sub
...