logo

Visual Studio muhitida ListBox komponentasi.Uning xossalari, hodisalari, metodlari. Unga oid misollari

Загружено в:

19.11.2024

Скачано:

0

Размер:

124.1318359375 KB
  Visual   Studio   muhitida   ListBox   komponentasi.Uning
xossalari, hodisalari, metodlari. Unga oid misollari .
                                      
                                     Reja :
1. Visual Studio muhitida ListBox komponentasi.
2. ListBox komponentasining xossalari.
3. ListBox komponentasining hodisalari va metodlari.
4. Unga oid misollari.
Listbox   komponentasi.   Bu   komponenta   yordamida,
foydalanuvchi   bir   nechta   va   bitta   elementlar   roʻyxatini
chiqarishi mumkin. 
Agar   elementlar   soni   oynaning   oʻlchamlariga
sigʻmaydigan   darajada   koʻp   boʻlsa,   u   holda   avtomatik
ravishda   maydonga   prokrutka   (oʻtkazish   tugmasi)
oʻrnatiladi. 
Agar   MultiColumn   xossasining   qiymati   true   boʻlsa,   u
holda  bir  qancha  elementlarni  ekranga  chiqaradi.  Bunda
gorizontal holdagi prokrutka joylashtiriladi.
Agar MultiColumn xossasi false qiymatini qabul qilsa, bir
kolonkali   elementlar   chiqadi   va   vertikal   prokrutka
oʻrnatiladi. 
Agar   ScrollAlwaysVisible   xossasi   true   qiymatini   qabul
qilsa,   mustaqil   holda   elementlar   miqdoriga   qarab,
prokrutka oʻrnatadi.  SelectionMode   xossasidan   bir   marta   elementlar
miqdorini   aniqlash   mumkin   (bitta,   bir   qancha   va   hech
qancha).
Listbox   komponentasi   bilan   qanday   ishlanadi?
SelectedIndex   xossasining qiymati, agar birinchi element
tanlangan   boʻlsa   butun   qiymat   qaytaradi,   agar   element
boʻsh   boʻlsa,   bu   xossa   qiymatiga   -1   oʻrnatiladi.   Roʻyxat
indeksining qiymati 0 dan boshlab oʻzgaradi. Roʻxyatdagi
elementning   birinchi   indeksini   qaytarishda   bu   xossa
koʻpsatrli   tanlamadan.   Koʻpsatrli   rejimda   bu   xossa
toʻplamning birinchi elementi indeksini qaytaradi.
SelectedItem   xossasi   tanlangan   elementni   qaytaradi.   U
odatda matnli satrdir.
Elementlar   miqdori   Count   xossasida   keltiriladi.   Bu   holda
uning   qiymati   roʻyxatda   keltriilgan   elementlar
miqdoridan   bittaga   koʻp   boʻlishi   kerak,   chunki   sanash
noldan boshlanadi.
Elementlar   qatorini   qoʻshish   va   oʻchirish   uchun   quyidagi
metodlar aniqlangan:
Add()  – roʻyxat oxiridan element qoʻshish;
Insert()  – roʻyxat ichiga element joylashtirish;
Clear()   –   roʻyxat   elementlarini   tozalash   (roʻyxatni
tozalash);  Remove()   –   tanlangan   elementni   oʻchirish;   Bundan
tashqari   dizayn   rejimida   ham   Items   xossasidan
foydalangan holda, bu ishlarni bajarish mumkin.
Listbox   xossalari.   ColumnWidth   –   roʻyxat   elementlari
kirish maydoni kengligini oʻrnatadi. 
DataSource   –   Ma’lumotlar   bazasini   oʻrnatish,   bu
yordamida roʻyxatni toʻldirish mumkin. Uning ikki xil usuli
bor: 
Add()   metodidan   foydalanib   –   bu   holatda   DataSource
xossasi oʻchirilgan boʻlishi kerak. 
Boshqa   ma’lumotlar   bazasini   yoqish   orqali,   bunda
muloqot   yordamida   orqali   bu   xossaning   maydoniga
bazaning joylashuv adresini berish kerak. 
Items   –   bu   xossa   yordamida   komponentaga   element
qoʻshish, ularni koʻrish mumkin boʻladi. Buning uchun bu
xossaning yonida joylashgan koʻpnuqtali (…) belgisi ustiga
sichqoncha   tugmasini   bossak,   bizda   Редактор
коллекции   строк   (1-rasm) muloqot oynasi paydo boʻladi
va   bu   oyna   orqali   kiritish   va   oʻchirishni   tashkil   qilishimiz
mumkin.                               1-rasm.  Редактор коллекции строк oynasi.
Satrni   komponentaga   chiqarish   uchun   Kodlar   muharriri
oynasida quyidagi kodni kiritishimiz ham mumkin:
String ^it = listBox1->Items[1]->ToString();
Bu holatda i – satr nomeri (nomerlash 0 dan boshlanadi).
Satrni belgilash, sichqoncha tugmasini bosish hodisa roʻy
bergani anglatadi.  (Click hodisasi)
String   ^it   =   this->listBox1->Items[this->listBox1-
>SelectedIndex]->ToString();
Bu holatda SelectedIntex – tanlangan satr indeksi.
MultiColumn   –   elemenetlar   roʻyxatini   qay   koʻrinishda:
koʻp   kolonkali   yoki   bitta   kolonkali   holida   chiqishini
ta’minlaydi. Bu ikki xil rejimga oʻtishni tashkillashtiruvchi ilova dasturi 1-listingda berilgan. Uning dizayn rejimi esa
2-rasmda koʻrsatilgan.
2-rasm.   Koʻpkolonkali va birkolonkali koʻrinishlar  (dizayn
rejimi).
3-rasm.   Koʻpkolonkali   va   birkolonkali   koʻrinishlar
(foydalanuvchi rejimi)
1-listing. private:   System::Void   button1_Click(System::Object^   s
ender, System::EventArgs^ e)
{ 
this->listBox1->Items- >Clear(); //komponentani tozalash 
String ^it; 
listBox1->MultiColumn = false; 
for (int i = 0; i < 50; i++) 
{
it = Convert::ToString(i); 
//int dan Stringga oʻtish 
listBox1->Items->Add(it); 
}
} //tamom
private:   System::Void   button2_Click(System::Object^   s
ender, System::EventArgs^ e)
{ 
this->listBox1->Items- >Clear();
 //komponentani tozalash 
for (int x = 0; x < 50; x++) 
{
String ^it = Convert::ToString(x); //int dan Stringga oʻtish  it = it->Concat("Items_", it);
listBox1->Items->Add(it);
 }
 listBox1->MultiColumn = true;
 listBox1->ColumnWidth = 50;
 }
 };
}
Satrning   maksimal   kengligini   aniqlash   piksellarda   boʻlib,
quyidagi misolda keltiramiz (2-listing)
2-listing.
int   width   =   (int)listBox1->CreateGraphics()-
>MeasureString(listBox1->Items[listBox1->Items->Count
– 1]->ToString(), listBox1->Font).Width;
listBox1->ColumnWidth = width;
Izoh:
CreateGraphics()   metodi   listBox1   uchun   grafik   obyekt
yaratadi (qator kiritish grafik holatda roʻy beradi). 
Bu   obyektning   MeasureString(String,   Font)   metodi
mavjud boʻlib, qatorning uzunligi oʻzgarishi bilanoq uning
shriftlar   va   piksellari   qiymatiga   qarab   oʻzgarishini
aniqlaydi (turli shriftlar ekranda turli piksellarga ega).
String parametri bu: listBox1->Items->[listBox1->Items->Count   –   1]-
>ToString();
bizning misolimiz uchun bu oxirgi element (eng uzun).
Font parametri bu: 
listBox1->Font
MeasureString(String,   Font)   metodi   ikkita   float   tipidan
iborat   boʻlgan   SizeF   strukturasini   qaytaradi.   Bu   ekranda
toʻgʻriburchak   tasvirining   joylashish   koordinatalarini
aniqlaydi.   Biz   toʻgʻritoʻrtburchakning   kengligini   bilishimiz
kerak, ya’ni satr oʻlchamlari piksellarda ifodalanadi. 
Shuning biz quyidagi kiritamiz:
MeasureString(String,Font).width
faqat bitta element strukturadan olinadi. 
Lekin   uning   tipi   float   ekanligidan,   uni   int   tipiga
oʻzgartirishimiz   kerak,   chunki   ListBoxning   kengligi   faqat
int tipini qabul qiladi. 
Shuning   uchun   ListBox1->CreateGraphics()   metodning
oldidan (int) deb yozamiz. Bu amal float tipidan int tipiga
almashtiradi. 
Umumiy   holda   maksimal   uzunlik   aniqlash   quyidagi   sikl
orqali bajarilishi kerak (3-listing).
3-listing. String ^it; String ^it_0; //bu holatda oldingi satr boʻladi 
it_0 = listBox1->Items[0]->ToString();
for (int i = 0; i < listBox1->Items->Count; i++)
{
 it = listBox1->Items[i]->ToString(); 
}
Joriy   va   oldingi   satrlar   taqqoslanadi,   String^   tipli   satr
uchun metod taqqoslangan natijadan kattasi qabul qiladi.

Visual Studio muhitida ListBox komponentasi.Uning xossalari, hodisalari, metodlari. Unga oid misollari . Reja : 1. Visual Studio muhitida ListBox komponentasi. 2. ListBox komponentasining xossalari. 3. ListBox komponentasining hodisalari va metodlari. 4. Unga oid misollari. Listbox komponentasi. Bu komponenta yordamida, foydalanuvchi bir nechta va bitta elementlar roʻyxatini chiqarishi mumkin. Agar elementlar soni oynaning oʻlchamlariga sigʻmaydigan darajada koʻp boʻlsa, u holda avtomatik ravishda maydonga prokrutka (oʻtkazish tugmasi) oʻrnatiladi. Agar MultiColumn xossasining qiymati true boʻlsa, u holda bir qancha elementlarni ekranga chiqaradi. Bunda gorizontal holdagi prokrutka joylashtiriladi. Agar MultiColumn xossasi false qiymatini qabul qilsa, bir kolonkali elementlar chiqadi va vertikal prokrutka oʻrnatiladi. Agar ScrollAlwaysVisible xossasi true qiymatini qabul qilsa, mustaqil holda elementlar miqdoriga qarab, prokrutka oʻrnatadi.

SelectionMode xossasidan bir marta elementlar miqdorini aniqlash mumkin (bitta, bir qancha va hech qancha). Listbox komponentasi bilan qanday ishlanadi? SelectedIndex xossasining qiymati, agar birinchi element tanlangan boʻlsa butun qiymat qaytaradi, agar element boʻsh boʻlsa, bu xossa qiymatiga -1 oʻrnatiladi. Roʻyxat indeksining qiymati 0 dan boshlab oʻzgaradi. Roʻxyatdagi elementning birinchi indeksini qaytarishda bu xossa koʻpsatrli tanlamadan. Koʻpsatrli rejimda bu xossa toʻplamning birinchi elementi indeksini qaytaradi. SelectedItem xossasi tanlangan elementni qaytaradi. U odatda matnli satrdir. Elementlar miqdori Count xossasida keltiriladi. Bu holda uning qiymati roʻyxatda keltriilgan elementlar miqdoridan bittaga koʻp boʻlishi kerak, chunki sanash noldan boshlanadi. Elementlar qatorini qoʻshish va oʻchirish uchun quyidagi metodlar aniqlangan: Add() – roʻyxat oxiridan element qoʻshish; Insert() – roʻyxat ichiga element joylashtirish; Clear() – roʻyxat elementlarini tozalash (roʻyxatni tozalash);

Remove() – tanlangan elementni oʻchirish; Bundan tashqari dizayn rejimida ham Items xossasidan foydalangan holda, bu ishlarni bajarish mumkin. Listbox xossalari. ColumnWidth – roʻyxat elementlari kirish maydoni kengligini oʻrnatadi. DataSource – Ma’lumotlar bazasini oʻrnatish, bu yordamida roʻyxatni toʻldirish mumkin. Uning ikki xil usuli bor: Add() metodidan foydalanib – bu holatda DataSource xossasi oʻchirilgan boʻlishi kerak. Boshqa ma’lumotlar bazasini yoqish orqali, bunda muloqot yordamida orqali bu xossaning maydoniga bazaning joylashuv adresini berish kerak. Items – bu xossa yordamida komponentaga element qoʻshish, ularni koʻrish mumkin boʻladi. Buning uchun bu xossaning yonida joylashgan koʻpnuqtali (…) belgisi ustiga sichqoncha tugmasini bossak, bizda Редактор коллекции строк (1-rasm) muloqot oynasi paydo boʻladi va bu oyna orqali kiritish va oʻchirishni tashkil qilishimiz mumkin.

1-rasm. Редактор коллекции строк oynasi. Satrni komponentaga chiqarish uchun Kodlar muharriri oynasida quyidagi kodni kiritishimiz ham mumkin: String ^it = listBox1->Items[1]->ToString(); Bu holatda i – satr nomeri (nomerlash 0 dan boshlanadi). Satrni belgilash, sichqoncha tugmasini bosish hodisa roʻy bergani anglatadi. (Click hodisasi) String ^it = this->listBox1->Items[this->listBox1- >SelectedIndex]->ToString(); Bu holatda SelectedIntex – tanlangan satr indeksi. MultiColumn – elemenetlar roʻyxatini qay koʻrinishda: koʻp kolonkali yoki bitta kolonkali holida chiqishini ta’minlaydi. Bu ikki xil rejimga oʻtishni tashkillashtiruvchi

ilova dasturi 1-listingda berilgan. Uning dizayn rejimi esa 2-rasmda koʻrsatilgan. 2-rasm. Koʻpkolonkali va birkolonkali koʻrinishlar (dizayn rejimi). 3-rasm. Koʻpkolonkali va birkolonkali koʻrinishlar (foydalanuvchi rejimi) 1-listing.