2017-03-16 29 views
-6

爲什麼運行時創建組合框,當我把財產DropDownStyle =簡單顯示下拉?有沒有其他的財產,我想念爲了不顯示下拉?C#組合框DropDownStyle =簡單的不能在運行時的工作

的代碼是:

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); 
} 

和輸出:

enter image description here

+2

這就是「簡單」手段。 –

+0

它在設計時有不同的行爲,它按預期工作,沒有顯示下拉框 – jciberta

回答

0

在我看來,如果你不需要顯示的下拉,你不需要組合框。

您可以禁用組合框設置

cmb.IsEnabled = false; 

或者我會用一個只讀文本框或類似的東西。

+0

我需要其他用途的組合框 – jciberta

+0

如果您指定「其他目的」的含義,也許我們可以更有用。 – Giangregorio

1

DropDownStyle屬性指定列表是否爲總是顯示或是否顯示在下拉列表中:https://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.dropdownstyle(v=vs.110).aspx

它設置爲Simple specifices該列表始終可見,而且文字部分可編輯:https://msdn.microsoft.com/en-us/library/system.windows.forms.comboboxstyle(v=vs.110).aspx

如果你不想用默認的顯示列表,你應該在DropDownStyle屬性設置爲DropDownDropDownList這取決於你是否想要的文字部分爲可編輯:

cmb.DropDownStyle = ComboBoxStyle.DropDown; 
+0

我在問爲什麼它不同於設計時,下拉框沒有顯示。 – jciberta

+0

你是?你是否認爲有人能夠以某種方式神奇地發現這是你的問題,甚至在你原來的問題中甚至沒有提及它? – mm8

+1

@jciberta對於你所提出的問題,這是正確的答案,說實話,無論如何,它在設計階段的工作方式並不重要。 – hankide