gpt4 book ai didi

c# - 如何更改(并稍后恢复)文本框中的默认上下文菜单

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:52 25 4
gpt4 key购买 nike

我想更改默认的文本框上下文菜单,所以我创建了自己的菜单并像那样分配它们

texbox.ContextMenu = myContextMenu

但是我不知道如何恢复默认的文本框菜单(在运行时)。仅当我用鼠标右键单击文本框(同时按住控制按钮)时,我才需要显示 myContextMenu。在其他情况下,我需要显示默认的文本框上下文菜单。可能吗??

最佳答案

这里是微软给出的例子:

http://msdn.microsoft.com/en-us/library/ms750420.aspx

作为记录,这里是使用 WinForms 执行此操作的方法:

public partial class TextBoxContextMenuDemo : Form
{
ContextMenu mnuContextDefault;
ContextMenu mnuContextAlt;

MenuItem mnuItmAltMenuTest;

public TextBoxContextMenuDemo()
{
InitializeComponent();
InitializeAltContextMenu();
}

private void InitializeAltContextMenu()
{
mnuContextDefault = new ContextMenu();
mnuContextDefault = this.TextBox1.ContextMenu;

mnuItmAltMenuTest = new MenuItem();
mnuItmAltMenuTest.Index = -1;
mnuItmAltMenuTest.Text = "Test Menu Item";
mnuItmAltMenuTest.Click += new System.EventHandler(this.mnuItmAltMenuTest_Click);

mnuContextAlt = new ContextMenu();
mnuContextAlt.MenuItems.Add(mnuItmAltMenuTest);
}

private void TextBox1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if ((Control.ModifierKeys == Keys.Control))
{
this.TextBox1.ContextMenu = mnuContextAlt;
TextBox1.ContextMenu.Show(TextBox1, new Point(e.X, e.Y));
}
else
{
this.TextBox1.ContextMenu = mnuContextDefault;
}
}
}

private void mnuItmAltMenuTest_Click(object sender, System.EventArgs e)
{
MessageBox.Show("You clicked the alternate test menu item!");
}
}

喂!

关于c# - 如何更改(并稍后恢复)文本框中的默认上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3471439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com