8 Şubat 2017 Çarşamba

Winforms ComboBox Sınıfı

ComboBox Sınıfı

BindingContext Alanı
CurrencyManager bir DataSource ile ona bağlı tüm GUI elemanlarını eşleştirmek ile sorumludur. Yani DataSource'taki seçili Current Record değişirse tüm GUI'de değişir. Eğer ComboBox 2 ve 3 DataSource değişince etkilenmesin istersek farklı bir BindingContext atamamız gerekir.

List<string> testList = new List<string>()
    {
        "A",
        "B",
        "C"
    };

comboBox1st.DataSource = testList;

comboBox2nd.BindingContext = new BindingContext();
comboBox2nd.DataSource = testList;

comboBox3rd.BindingContext = new BindingContext();
comboBox3rd.DataSource = testList;

comboBox1st.SelectedIndex = 2;
comboBox2nd.SelectedIndex = 1;
comboBox3rd.SelectedIndex = 0;
DataSource Alanı
Bu bileşen Data Binding'i destekler. Şöyle yaparız.
string query = "select ID, Department from tblDepartment";
OleDbDataAdapter da = new OleDbDataAdapter(query, myConn);

DataSet dsdpt = new DataSet();
da.Fill(dsdpt, "tblDepartment");
cmbDepartment.DataSource = dsdpt.Tables["tblDepartment"];
cmbDepartment.ValueMember = "ID";
cmbDepartment.DisplayMember = "Department";
ComboBox ekranda Department sütununu gösterir. ValueMember alanı ID sütununu belirttiği için combobox'ın SelectedValue alanı ID sütununu verir.

DrawMode Alanı
Bu alanı OwnerDrawFixed yaparsak çizimleri kendimiz yaparız. Şöyle yaparız.
private void ColorComboBox_DrawItem(object sender, DrawItemEventArgs e)
{
  Graphics g = e.Graphics;
  Rectangle rect = e.Bounds;
  if (e.Index >= 0)
  {
    Color c = ...
    Brush b = ...
    g.DrawString(n, f, Brushes.Black, rect.X, rect.Top);
    g.FillRectangle(b, rect.X, rect.Y + 5, rect.Width -10, rect.Height - 10);
  }
}
DropppedDown Alanı
Listeyi göstermek için şöyle yaparız.
comboBox1.DroppedDown = true;
DropDownStyle Alanı
Salt Okunur yapmak için şöyle yaparız. Böylece ComboBox düzenlenemez (edit edilemez)
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
FindString metodu
Bu bileşenin içindeki bir stringi bulmak için FindStringExact veya FindString metodları kullanılabilir.

SelectedIndex Alanı
combo.SelectedIndex = x; yapılarak belirtilen konumdaki eleman seçilebilir.
comboBox.SelectedIndex = 3;
SelectedItem Alanı
stringvalue = combo.SelectedItem; yapılarak seçili string bulunabilir

Tag Alanı
Listedeki elemana bir değer atar.
comboBox1.Tag = ...;
Combobox.ObjectCollection Sınıfı
Items alanı bu sınıfı verir.

AddRange
Diziyi ComboBox'a ekler.
IEnumerable<object> newList = ...;
comboBox1.Items.AddRange(newList.ToArray());
Clear metodu
Listeyi temizler.
comboBox1.Items.Clear();
CopyTo
Listeyi yeni diziye kopyalar.
object[] copyList = ...;
comboBox1.Items.CopyTo(copyList, 0);
Count Alanı
Kaç tane nesne olduğunu döndürür.
comboBox1.Items.Count
Insert metodu
ToString metodu olan bir nesne şöyle eklenir.
MyComboboxItem newItem = new CMyComboboxItem();
newItem.Text = "Select an item";
newItem.Value = 0;
comboBox1.Items.Insert(0, newItem);
Nesnem şöyledir.
public class MyComboboxItem
{
  public string Text { get; set; }
  public object Value { get; set; }
  public override string ToString()
  {
    return Text;
  }
}
RemoveAt metodu
Belirtilen konumdaki nesneyi siler.
comboBox1.Items.RemoveAt(0);



Hiç yorum yok:

Yorum Gönder