답변:
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에 할당해야합니다.
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()