【问题标题】:Is it possible to change a Winforms combobox to disable typing into it?是否可以更改 Winforms 组合框以禁用输入?
【发布时间】:2011-01-22 23:44:52
【问题描述】:

所以它只允许选择已经在里面的项目,但不允许输入/编辑里面的文本?

【问题讨论】:

    标签: c# .net winforms


    【解决方案1】:

    ComboBox.DropDownStyle 设置为ComboBoxStyle.DropDownList

    【讨论】:

      【解决方案2】:

      在尝试了 ShaneFulmer 的回答后,我注意到下拉菜单的样式发生了变化。这对我来说是个问题,显然没有改变它的好方法。 (背景颜色实际上并没有改变它。)

      我最终添加了一个按键处理程序来防止添加文本。

      private void myCombo_KeyPress(object sender, KeyPressEventArgs e)
      {
          e.Handled = true;
      }
      

      【讨论】:

      • 为什么这实际上会阻止添加文本?​​
      • @AugustWilliams 它在将事件发送到操作系统进行处理之前将其标记为已处理。见msdn.microsoft.com/en-us/library/…
      • 请注意,这不会阻止用户(例如)通过右键单击和粘贴等方式修改 ComboBox 内容。鼠标输入和其他修改途径必须单独介绍。跨度>
      • @Steverino 如何防止用户通过鼠标将内容输入TComboBox
      猜你喜欢
      • 2013-03-08
      • 1970-01-01
      • 2014-10-08
      • 2011-07-27
      • 1970-01-01
      • 2011-07-31
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多