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.
Bu bileşen Data Binding'i destekler. Şöyle yaparız.
DrawMode Alanı
Bu alanı OwnerDrawFixed yaparsak çizimleri kendimiz yaparız. Şöyle yaparız.
Listeyi göstermek için şöyle yaparız.
Salt Okunur yapmak için şöyle yaparız. Böylece ComboBox düzenlenemez (edit edilemez)
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.
stringvalue = combo.SelectedItem; yapılarak seçili string bulunabilir
Tag Alanı
Listedeki elemana bir değer atar.
Items alanı bu sınıfı verir.
AddRange
Diziyi ComboBox'a ekler.
Listeyi temizler.
Listeyi yeni diziye kopyalar.
Kaç tane nesne olduğunu döndürür.
ToString metodu olan bir nesne şöyle eklenir.
Belirtilen konumdaki nesneyi siler.
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 metoduBu bileşenin içindeki bir stringi bulmak için FindStringExact veya FindString metodları kullanılabilir.
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 metoduListeyi temizler.
comboBox1.Items.Clear();
CopyToListeyi 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 metoduToString 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 metoduBelirtilen konumdaki nesneyi siler.
comboBox1.Items.RemoveAt(0);
Hiç yorum yok:
Yorum Gönder