【问题标题】:How to disable the right-click context menu on textboxes in Windows, using C#?如何使用 C# 禁用 Windows 中文本框上的右键单击上下文菜单?
【发布时间】:2021-01-10 15:47:11
【问题描述】:

如何使用 C# 禁用 Windows 中文本框上的右键单击上下文菜单?这是我得到的,但它有一些错误。

private void textBox1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {   
       textBox1.ContextMenu.Dispose();               
    }                       
}

【问题讨论】:

  • 您是指在 Windows 窗体中吗?
  • @Ali: 是的,我想要这个在 windows 窗体中
  • 您为什么要这样做?也许你的问题可以用另一种类型的控件更好地解决,比如 MaskedTextBox,这取决于你真正想要做什么。
  • @CodeCaster:好的,怎么样..?请给我一个代码示例
  • @AmukSaxena 我不能给你密码。说明你想做什么。

标签: c# winforms


【解决方案1】:

试试

textBox1.ShortcutsEnabled =false;

使用ShortcutsEnabled 属性启用或禁用以下 快捷键组合和控件的快捷菜单

  • CTRL+Z

  • CTRL+E

  • CTRL+C

  • CTRL+Y

  • CTRL+X

  • CTRL+退格键

  • CTRL+V

  • CTRL+删除

  • CTRL+A

  • SHIFT+删除

  • CTRL+L

  • SHIFT+插入

  • CTRL+R

【讨论】:

  • 附带说明,ShortcutsEnabled = false 也禁用 CTRL-C CTRL-V。根据 OP 的需要,这可能是最好的答案,也可能不是一个好的答案。哦,ContextMenu = null 根本不起作用,您应该将其编辑掉,或将其替换为 = new ContextMenu();
  • 谢谢.. textBox1.ShortcutsEnabled =false;这段代码运行得很棒!!!!感谢您的帮助
【解决方案2】:

尝试这样做:

textBoxt1.ContextMenu = new ContextMenu();

【讨论】:

    【解决方案3】:

    如果想在 Winforms C# 中防止右键单击文本框,可以编写如下代码。

    public partial class Form1: Form
    {
        ContextMenu emptyMenu = new ContextMenu();
        public Form1()
        {
            InitializeComponent();
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
            this.textBox1.ContextMenu = emptyMenu;
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-11
      • 1970-01-01
      • 2021-06-25
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      • 2019-12-17
      相关资源
      最近更新 更多