Answers:
使用ComboStyle属性:
comboBox.DropDownStyle = ComboBoxStyle.DropDownList;
combo.Properties.TextEditStyle = DisableTextEditor
这是我使用的另一种方法,因为更改DropDownSyle
为DropDownList
使其看起来像3D,有时看起来很丑陋。
您可以通过KeyPress
像这样处理ComboBox 的事件来阻止用户输入。
private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Paste
。我不知道现在怎么样。
Paste
您将必须创建伪造的空上下文菜单并将其分配给ComboBox。
现在可以将属性中的DropDownStyle更改为DropDownList。这不会显示用于过滤器的文本框。
(屏幕截图由FUSION CHA0S提供。)
我尝试了ComboBox1_KeyPress,但它允许删除字符,您也可以使用复制粘贴命令。我的DropDownStyle设置为DropDownList,但仍然没有用。所以我做了以下步骤,以避免组合框文本编辑。
下面的代码处理删除和退格键。并且还会禁用与控制键的组合(例如ctr + C或ctr + X)
Private Sub CmbxInType_KeyDown(sender As Object, e As KeyEventArgs) Handles CmbxInType.KeyDown
If e.KeyCode = Keys.Delete Or e.KeyCode = Keys.Back Then
e.SuppressKeyPress = True
End If
If Not (e.Control AndAlso e.KeyCode = Keys.C) Then
e.SuppressKeyPress = True
End If
End Sub
在表单加载中,使用以下行禁用右键单击组合框控件,以避免通过鼠标单击进行剪切/粘贴。
CmbxInType.ContextMenu = new ContextMenu()