首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式关闭MenuStrip

以编程方式关闭MenuStrip
EN

Stack Overflow用户
提问于 2010-05-24 13:22:05
回答 3查看 7.8K关注 0票数 4

我有一个添加到表单中的MenuStrip,在其中的一个下拉菜单中,我有一个文本框。当我在文本框上点击enter时,我想要一个函数运行,然后下拉菜单关闭。我知道如何完成enter部分,但我不知道如何关闭MenuStrip下拉菜单。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-24 22:25:07

调用所有者的Hide()方法。例如:

代码语言:javascript
复制
    private void toolStripTextBox1_KeyDown(object sender, KeyEventArgs e) {
        if (e.KeyData == Keys.Enter) {
            e.SuppressKeyPress = true;
            toolStripTextBox1.Owner.Hide();
        }
    }
票数 10
EN

Stack Overflow用户

发布于 2012-04-13 22:42:15

你可以试试这个(对我很有效)

for(int x = 0; x < menu.Items.Count; x++) ((System.Windows.Forms.ToolStripDropDownItem)menu.Items[x]).HideDropDown();

票数 3
EN

Stack Overflow用户

发布于 2016-06-14 00:53:31

这是一个老问题,但我遇到了同样的问题,并找到了解决方案,所以对于其他人来说:

无论textbox (或其他控件)的嵌套程度如何,都需要调用主菜单项的HideDropDown()方法。

例如,假设您有一个包含FileEditHelp的工具条。在Edit菜单上,您将文本框嵌套在某个位置:

EditMenuItem -> FindMenuItem -> SearchTextBoxHere

您将在textbox的keydown事件上调用编辑菜单的HideDropDown()方法:

代码语言:javascript
复制
EditMenuItem.HideDropDown();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2894894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档