.net 使用代码将ToolStripTextBox添加到上下文菜单项

.net 使用代码将ToolStripTextBox添加到上下文菜单项,.net,vb.net,.net,Vb.net,我似乎找不到动态添加TextBox类型的ContextMenu项以便显示ToolTextTip、捕获用户输入文本或 我试过几种方法,但没有成功。下面的代码可以工作,但只向ContextMenu添加了一个“普通”项。 如果手动添加表单设计,我可以让它工作,但我认为这不是正确的方法 For Each check_box As Control In Me.Controls If (TypeOf check_box Is CheckBox) Then AddHan

我似乎找不到动态添加TextBox类型的ContextMenu项以便显示ToolTextTip、捕获用户输入文本或 我试过几种方法,但没有成功。下面的代码可以工作,但只向ContextMenu添加了一个“普通”项。 如果手动添加表单设计,我可以让它工作,但我认为这不是正确的方法

For Each check_box As Control In Me.Controls
        If (TypeOf check_box Is CheckBox) Then
            AddHandler check_box.MouseClick, AddressOf CheckBox_pressed
            Dim context_menu As New ContextMenu With {.Name = check_box.Name}
            Dim menu_item_1 As New MenuItem With {.Text = "save"}
            context_menu.MenuItems.Add(menu_item_1)
            check_box.ContextMenu = context_menu

        End If
    Next
但这是无效的:

For Each check_box As Control In Me.Controls
        If (TypeOf check_box Is CheckBox) Then
            AddHandler check_box.MouseClick, AddressOf CheckBox_pressed
            Dim context_menu As New ContextMenu With {.Name = check_box.Name}
            Dim menu_item_1 As New MenuItem With {.Text = "save"}
            Dim menu_item_2 As New ToolStripTextBox With {.ToolTipText = "Button Name"}
            context_menu.MenuItems.Add(menu_item_1)
            context_menu.MenuItems.Add(menu_item_2) ' not valid
            check_box.ContextMenu = context_menu
        End If
    Next
希望我能澄清我的疑虑。
感谢您的支持。

您使用的控件不正确
ContextMenu
是本机Windows上下文菜单的包装器,而它是纯.NET实现,支持文本框和其他类型的项

将代码更改为:

Dim context_menu As New ContextMenuStrip With {.Name = check_box.Name}
Dim menu_item_1 As New ToolStripMenuItem With {.Text = "save"}
Dim menu_item_2 As New ToolStripTextBox With {.ToolTipText = "Button Name"}

context_menu.Items.Add(menu_item_1)
context_menu.Items.Add(menu_item_2)
check_box.ContextMenuStrip = context_menu

你没有使用正确的控件
ContextMenu
是本机Windows上下文菜单的包装器,而它是纯.NET实现,支持文本框和其他类型的项

将代码更改为:

Dim context_menu As New ContextMenuStrip With {.Name = check_box.Name}
Dim menu_item_1 As New ToolStripMenuItem With {.Text = "save"}
Dim menu_item_2 As New ToolStripTextBox With {.ToolTipText = "Button Name"}

context_menu.Items.Add(menu_item_1)
context_menu.Items.Add(menu_item_2)
check_box.ContextMenuStrip = context_menu

@很高兴我能帮上忙!祝你好运@很高兴我能帮上忙!祝你好运