2010-10-06 28 views
8

ComboBox öğelerini Click olayı kullanarak bir listeyle dolduruyorum. Zaten dolu olduğunda MaxDropDownItems çalışmıyor. Bunun nasıl düzeltileceğini bilen var mı? böylece combobox en az 5 ürün yalnızca göstermelidirComboBox.MaxDopDownItems, Click olayını kullanarak öğeleri eklerken çalışmıyor

List<string> list = new List<string>(); 
    ComboBox cb; 
    private void button1_Click(object sender, EventArgs e) 
    { 
     cb = new ComboBox(); 

     cb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 
     cb.FlatStyle = System.Windows.Forms.FlatStyle.Popup; 
     cb.FormattingEnabled = true; 
     cb.Size = new System.Drawing.Size(94, 21); 
     cb.MaxDropDownItems = 5; 
     cb.Click +=new EventHandler(cb_Click); 

     this.Controls.Add(cb); 
    } 

    private void cb_Click(object sender, EventArgs e) 
    { 
     foreach (string str in list) 
     { 
      cb.Items.Add(str); 
     } 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     list.Add("1");list.Add("2");list.Add("3"); 
     list.Add("4");list.Add("5");list.Add("6"); 
     list.Add("7"); 
    } 

MaxDropDownItems 5'e ayarlanır: Burada

kod alt text

cevap

17

Sen ayarlamanız gerekir ComboBox.IntegralHeight propertyfalse ne zaman kurulum kontrolünüzü (varsayılan olarak true). MSDN:

bu özellik true olarak ayarlanır

, kontrolü otomatik için boyutlandırır bir öğe kısmen görüntülenen olmadığından emin olun. temel alınarak ComboBox'un özgün boyutunu korumak istiyorsanız, formunuzun alan gereksinimleri, bu özelliği false olarak ayarlayın.

cb.IntegralHeight = false; 
: Eğer Controls koleksiyonuna combobox eklemeden önce

bu satırı ekleyin
İlgili konular