Matematika- informatika fakulteti



Download 113,66 Kb.
bet6/9
Sana30.03.2022
Hajmi113,66 Kb.
#517991
1   2   3   4   5   6   7   8   9
Bog'liq
Mamadaliyeva Mohira

DropdownList - ochiladigan ro'yxatni ochish uchun elementning o'ng tomonidagi o'q tugmasini bosishingiz kerak.
Simple - ComboBox oddiy matn oynasini ifodalaydi, unda biz elementlar orasida harakat qilish uchun klaviatura yuqoriga/pastga tugmalaridan foydalanishimiz mumkin.

SelectedIndexChanged hodisasi
ComboBox uchun eng muhim hodisa SelectedIndexChanged bo’lib, bu hodisa ro'yxatdagi elementni tanlashni kuzatish imkonini beradi:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged; 


}

void comboBox1_SelectedIndexChanged(object sender, EventArgs e)


{
string selectedState = comboBox1.SelectedItem.ToString();
MessageBox.Show(selectedState);
}
}
Bu yerda ham SelectedItem xususiyati tanlangan elementga murojaat qiladi.

4-§. ListBox va ComboBoxda ma'lumotlarni bog'lash
ListBox va ComboBox komponentlarining Items to'plamiga to'g'ridan-to'g'ri elementlarni qo'shishdan tashqari, biz ma'lumotlarni ulash mexanizmidan ham foydalanishimiz mumkin.
ListBox va ComboBox-da ma'lumotlarni bog'lash quyidagi xususiyatlar yordamida amalga oshiriladi:
DataSource - ma'lumotlar manbai - ba'zi massiv yoki obyektlar to'plami.
DisplayMember - obyektni ListBox/ComboBox-da ko'rsatish uchun foydalaniladigan xususiyat.
ValueMember - obyektning qiymati sifatida foydalaniladigan xususiyat.
Bir misolni ko'rib chiqamiz :
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
List
phones = new List

{
new Phone { Id=11, Name="Samsung Galaxy Ace 2", Year=2012},


new Phone { Id=12, Name="Samsung Galaxy S4", Year=2013},
new Phone { Id=13, Name="iPhone 6", Year=2014},
new Phone { Id=14, Name="Microsoft Lumia 435", Year=2015},
new Phone { Id=15, Name="Xiaomi Mi 5", Year=2015}
};
listBox1.DataSource = phones;
listBox1.DisplayMember = "Name";
listBox1.ValueMember = "Id";
listBox1.SelectedIndexChanged += listBox1_SelectedIndexChanged;
}
void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
// tanlangan obyektning id sini olish
int id = (int)listBox1.SelectedValue;
// tanlangan obyektlarning barchasini olish
Phone phone = (Phone)listBox1.SelectedItem;
MessageBox.Show(id.ToString() + ". " + phone.Name);
}
}
class Phone
{
public int Id { get; set; }
public string Name { get; set; }
public int Year { get; set; }
}
Shunday qilib, formada listBox1 nomli ListBox mavjud. Kodda uchta xususiyatga ega bo’lgan Phone sinfi mavjud bo'lib, biz uning obyektlarni sanab o'tmoqchimiz. Oldingi mavzulardan farqli o'laroq bu vazifa qiyinroq, chunki biz oldingi safar oddiy satrlarni ko'rsatganmiz, ammo bu yerda bizda murakkab obyektlar mavjud.
Chiqish uchun biz bog'lash mexanizmidan foydalanamiz. Birinchidan, biz ma'lumotlar manbai sifatida telefonlar ro'yxatini o'rnatamiz:
listBox1.DataSource = phones;
Keyin Phone sinfining Name xususiyatini displey xususiyati sifatida, Id xususiyatini esa qiymat xossasi sifatida o‘rnatamiz:
listBox1.DisplayMember = "Name";
listBox1.ValueMember = "Id";

Keyin biz ko'rsatilgan xususiyatning qiymatini ro'yxatda ko'ramiz. U har bir Phone obyektini ifodalaydi.


Id xossasi bo'lgan qiymat xossasi yordamida biz ma'lumotlar manbai bilan ishlashni soddalashtirishimiz mumkin. Bunday holda, u katta rol o'ynamaydi. Ammo agar biz ma'lumotlar bazasidan ma'lum bir obyekt to'plamini ma'lumotlar manbai sifatida ishlatgan bo'lsak, u holda id yordamida ma'lumotlar bazasini o'chirish, yangilash va o'zaro aloqada bo'lishi biz uchun osonroq bo'lar edi.
Va endi biz biron bir obyektni tanlasak, ListBox elementining SelectedItem xususiyati Phone obyektini o'z ichiga oladi, undan xususiyat qiymatlarini olishimiz mumkin:
Phone phone = (Phone)listBox1.SelectedItem;
string name = phone.Name;

Va tanlangan qiymat, ya'ni tanlangan telefonning Id xususiyatining qiymati SelectedValue xususiyatida bo'ladi.


Agar biz dasturni ishga tushirsak, biz ko'rsatilgan barcha telefonlarni ko'ramiz:

ComboBox elementi uchun hammasi bir xil. ListBox dan tashqari formada ComboBox bo'lsin:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
List
phones = new List

{
new Phone { Id=11, Name="Samsung Galaxy Ace 2", Year=2012},


new Phone { Id=12, Name="Samsung Galaxy S4", Year=2013},
new Phone { Id=13, Name="iPhone 6", Year=2014},
new Phone { Id=14, Name="Microsoft Lumia 435", Year=2015},
new Phone { Id=15, Name="Xiaomi Mi 5", Year=2015}
};
comboBox1.DataSource = phones;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Id";
comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
listBox1.DisplayMember = "Name";
listBox1.ValueMember = "Id";
}
void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Phone phone = (Phone)comboBox1.SelectedItem;
listBox1.Items.Add(phone);
}
}
class Phone
{
public int Id { get; set; }
public string Name { get; set; }
public int Year { get; set; }
}
Bundan tashqari, u birlashma qutisi uchun ulanishni, shuningdek, ko'rsatish xususiyati va qiymat xususiyatini o'rnatadi. Bunga qo'shimcha ravishda, tanlangan element ListBoxga tushishi uchun kombinatsiyalangan qutidagi elementni tanlash hodisasi shu yerda ko'rib chiqiladi.

ListBox-dan farqli o'laroq, ComboBox tanlangan obyektni boshqarish uchun uchta xususiyatga ega:



Download 113,66 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish