Kaydol:
Kayıt Yorumları
(
Atom
)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace C_Sharp_Form_ComboBox_Genislik_Ayarlama { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { //Burada combobox genişliği seçilen elemana göre değiştiriliyor comboBox1.Width = comboBoxGenislik(comboBox1, comboBox1.SelectedIndex); } private void comboBox2_SelectedIndexChanged(object sender, EventArgs e) { //Burada combobox genişliği seçilen elemana göre değiştiriliyor comboBox2.Width = comboBoxGenislik(comboBox2, comboBox2.SelectedIndex); } //Bu metot combobox genişliğinin seçilen elemana göre hesaplıyor //ve bu değeri geri döndürüyor private int comboBoxGenislik(ComboBox comboBox, int indeks) { int uzunluk = 0; Label etiket = new Label(); etiket.Text = comboBox.Items[indeks].ToString(); uzunluk = etiket.PreferredWidth; etiket.Dispose(); return uzunluk + 20;//20 değeri combobox okunun genişliği } private void Form1_Load(object sender, EventArgs e) { comboBoxDoldur(); //burada dropdown genişliği ayarlanıyor. //dropdown genişliği en uzun elemana göre ayarlanıyor comboBox1.DropDownWidth = DropDownGenislik(comboBox1); } //burada dropdown da görünen elemanların uzunlukları hesaplanıyor //en uzun elemanın genişliği geri döndürülüyor. private int DropDownGenislik(ComboBox comboBox) { int maksimumGenislik = 0; int uzunluk = 0; Label etiket = new Label(); foreach (var eleman in comboBox.Items) { etiket.Text = eleman.ToString(); uzunluk = etiket.PreferredWidth; if (uzunluk > maksimumGenislik) maksimumGenislik = uzunluk; } etiket.Dispose(); return maksimumGenislik; } //comboBox rastgele doldurma private void comboBoxDoldur() { comboBox1.Items.Add("Birinci eleman genişlik uzun"); comboBox1.Items.Add("İkinci eleman"); comboBox1.Items.Add("Kısa"); comboBox1.Items.Add("Rasgele eleman"); comboBox1.Items.Add("Bu etiket kısa"); comboBox1.Items.Add("Combobox islemler"); for (int i = 0; i < comboBox1.Items.Count; i++) { comboBox2.Items.Add(comboBox1.Items[i]); } } } }
Hiç yorum yok :
Yorum Gönder