как получить индекс элемента ToolStrip, на VB.NET

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

как получить индекс элемента ToolStrip, на VB.NET

Сообщение TrueTrue » 06.11.2019 (Ср) 19:29

Есть форма Form1.
На ней ToolStrip1.
В нём список элементов.
При клике на конкретный элемент, на ToolStrip1, выпадает ContextMenu1.

При нажатии на пункт "Удалить" в ContextMenu1, должен удаляться элемент на котором был установлен указатель мышки, при клике.
Но! Для удаления Элемента из ToolStrip1, требуется получить Index Элемента в списке элементов ToolStrip1. Как это сделать?

alorion
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 3
Зарегистрирован: 19.02.2011 (Сб) 15:26
Откуда: Владивосток

Re: как получить индекс элемента ToolStrip, на VB.NET

Сообщение alorion » 24.11.2019 (Вс) 8:20

Один из способов:
Код: Выделить всё
    Private ClickedButton As ToolStripButton

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        For Each button As ToolStripButton In ToolStrip1.Items
            AddHandler button.MouseDown, AddressOf ToolStripButton_MouseDown
        Next
    End Sub

    Private Sub ToolStripButton_MouseDown(sender As Object, e As MouseEventArgs)
        ClickedButton = sender
    End Sub

    Private Sub ContextMenuItem_Click(sender As Object, e As EventArgs) Handles ContextMenuItem.Click
        ToolStrip1.Items.Remove(ClickedButton)
    End Sub


Использовать индекс кнопки:
Код: Выделить всё
    Private IndexButton As Integer
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        For Each button As ToolStripButton In ToolStrip1.Items
            AddHandler button.MouseDown, AddressOf ToolStripButton_MouseDown
        Next
    End Sub

    Private Sub ToolStripButton_MouseDown(sender As Object, e As MouseEventArgs)
        IndexButton = ToolStrip1.Items.IndexOf(sender)
    End Sub

    Private Sub ContextMenuItem_Click(sender As Object, e As EventArgs) Handles ContextMenuItem.Click
        ToolStrip1.Items.RemoveAt(IndexButton)
    End Sub


Все проверки опущены.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 12

    TopList