回答:
ComboStyleプロパティを使用します。
comboBox.DropDownStyle = ComboBoxStyle.DropDownList;
combo.Properties.TextEditStyle = DisableTextEditor
これは、3Dに見えるように変更DropDownSyle
しDropDownList
たり、場合によっては単に見苦しくなったりするため、私が使用する別の方法です。
KeyPress
このようにComboBox のイベントを処理することで、ユーザー入力を防ぐことができます。
private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Paste
。今はどうだろう。
Paste
するには、偽の空のコンテキストメニューを作成し、それをComboBoxに割り当てる必要があります。
Yowは、プロパティのDropDownStyleをDropDownListに変更できます。フィルター用のTextBoxは表示されません。
(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()