2017-03-16 1 views
-6

Warum Laufzeit erstellt ComboBox Drop-down wird angezeigt, wenn ich die Eigenschaft setzen = Einfache Dropdownstyle? Gibt es eine andere Eigenschaft, die ich vermisse, um das Drop-down nicht anzuzeigen?C# ComboBox = Einfache Dropdownstyle nicht zur Laufzeit arbeitet

Der Code ist:

private void button3_Click(object sender, EventArgs e) 
{ 
    ComboBox cmb = new ComboBox(); 
    cmb.Left = 100; 
    cmb.Top = 500; 
    cmb.DropDownStyle = ComboBoxStyle.Simple; 
    this.Controls.Add(cmb); 
} 

Und die Ausgabe:

enter image description here

+2

Das ist, was „einfache“ meint. –

+0

Es hat ein anderes Verhalten bei der Design-Zeit, die funktioniert wie erwartet, zeigt nicht die Dropdown-Box – jciberta

Antwort

0

Meiner Meinung nach, wenn Sie auf den Dropdown-nicht angezeigt werden müssen, müssen Sie nicht ein benötigen Kombinationsfeld.

Sie können Ihre Combobox

cmb.IsEnabled = false; 

oder ich eine schreibgeschützte TextBox oder etwas ähnliches verwenden deaktivieren.

+0

Ich brauche die ComboBox für andere Zwecke – jciberta

+0

Wenn Sie angeben, was "andere Zwecke" bedeutet, können wir vielleicht mehr nützlich sein. – Giangregorio

1

Die DropDownStyle Eigenschaft gibt an, ob die Liste immer angezeigt oder ob die Liste in einem Drop-Down angezeigt wird: https://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.dropdownstyle(v=vs.110).aspx

es Simple specifices einstellen, dass die Liste immer sichtbar ist und dass der Textteil ist editierbar: https://msdn.microsoft.com/en-us/library/system.windows.forms.comboboxstyle(v=vs.110).aspx.

Wenn Sie die Liste nicht standardmäßig angezeigt werden soll, sollten Sie die DropDownStyle Eigenschaft entweder DropDown oder DropDownList je nach festlegen, ob der Textteil wollen editierbar sein:

cmb.DropDownStyle = ComboBoxStyle.DropDown; 
+0

Ich frage, warum es anders ist als Design-Zeit, wo die Dropdown-Box nicht angezeigt wird. – jciberta

+0

Bist du? Hast du gedacht, dass jemand irgendwie magisch herausfinden könnte, dass dies dein Problem war, ohne dass du es in deiner ursprünglichen Frage erwähnt hast? – mm8

+1

@jciberta Das ist die richtige Antwort auf das, was Sie gefragt haben und um ehrlich zu sein, es spielt keine Rolle, wie es in der Design-Zeit funktioniert. – hankide

Verwandte Themen