Só de leitura caixa de Combinação em WinForms
Pergunta
Eu estou escrevendo uma interface gráfica, C#, Visual Studio 2008, usando o Designer e WinForms.Eu tenho um controle de caixa de Combinação, e eu gostaria que ele apenas permite selecionar a partir das opções fornecidas e de não aceitar um usuário cadeia de caracteres inserida.Ele não parece ter uma propriedade só de Leitura, e a desativação dificulta a legibilidade do controle " (bem como impedindo a entrada do usuário-seleção).
Solução
Set DropDownStyle para "DropDownList"
Outras dicas
Defina a propriedade ComboBox.DropDownStyle para ComboBoxStyle.DropDownList.
Outra forma simples de fazê-lo.
private void combobox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Use código semelhante ao seguinte para definir as opções permitidas e apenas as opções.
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox1.Items.AddRange(new object[] {
"One",
"Two",
"Three",
"Four"});
Tente usar um DropDownListbox
A minha exigência : uma vez que o usuário dando uma entrada através de caixa de combinação, eles não podem mudar o valor antes de enviá-lo.Eles podem ler apenas esse valor.
Que por minha exigência de eu fazer as seguintes coisas.
1) Obter entrada a partir de utilizador através da caixa de combinação.
2) Copie o valor da caixa de combinação para uma caixa de texto(que é só de leitura e o invisível).
3) Falso a visibilidade de caixa de combinação.
4) Verdadeira a visibilidade de somente leitura caixa de texto.
Fazer isso com os eventos.