Kirish Roʻyxatdan oʻtish

Docx

  • Referatlar
  • Diplom ishlar
  • Boshqa
    • Slaydlar
    • Referatlar
    • Kurs ishlari
    • Diplom ishlar
    • Dissertatsiyalar
    • Dars ishlanmalar
    • Infografika
    • Kitoblar
    • Testlar

Dokument ma'lumotlari

Narxi 35000UZS
Hajmi 446.4KB
Xaridlar 0
Yuklab olingan sana 04 Iyun 2025
Kengaytma docx
Bo'lim Kurs ishlari
Fan Informatika va AT

Sotuvchi

G'ayrat Ziyayev

Ro'yxatga olish sanasi 14 Fevral 2025

82 Sotish

Algoritmik tillar va dasturlash

Sotib olish
O‘ZBEKISTON RESPUBLIKASI 
OLIY TA’LIM, FAN VA INNOVATSIYALAR
VAZIRLIGI
FARG‘ONA DAVLAT UNIVERSITETI 
« AMALIY MATEMATIKA VA INFORMATIKA »
KAFEDRASI
« Algoritmik tillar va dasturlash » fanidan
KURS ISHI
Mavzu:   C#   dasturlash   tilida   CheckedListBox
komponentasi yordamida dasturlar yaratish
Bajardi: Sh . Sh.Ibroximova
                                                                       23.09 -guru h  talabasi
Raxbar:             A . I . Ismoilov
Amaliy matematika va informatika kafedrasi
 katta o‘qituvchi, fizika-matematika fanlari
 bo‘yicha falsafa doktori (PhD)
Farg‘ona – 2025   y.   MUNDARIJA
Kirish ................................................................................................................................................... 3
1.1. Windows Formsga kirish .............................................................................................................. 6
1.2. C# Windows shakllari ................................................................................................................... 8
II.BOB C # dasturlash tilida CheckedListBox komponentasi .............................................................. 15
2.1. ListBox elementi bilan ishlash .................................................................................................... 15
2.2.CheckBox elementi bilan ishlash. ................................................................................................ 18
2.3. CheckedListBox elementi bilan ishlash ...................................................................................... 21
III.Xulosa ........................................................................................................................................... 30
IV. Foydalangan adabiyotlar. ............................................................................................................ 31
V. Ilova. ............................................................................................................................................. 33
Kirish
Hozirgi zamon mutaxassislari, faoliyat doiralari qanday bo‘lishidan qat’iy
nazar   informatika   bo‘yicha   keng   ko‘lamdagi   bilimlarga,   zamonaviy   hisoblash
texnikasi, informatsion aloqa va kommunikatsiya tizimlari, orgtexnika vositalari
3 va   ulardan   foydalanish   borasida   yetarli   malakalarga   ega   bo‘lishi,   hamda   yangi
informatsion   texnika   va   texnologiya   asoslarini   uning   ertangi   kuni,   rivoji
to‘g‘risidagi   bilimlarni   ozida   mujassamlashtirgan   bo‘lishi   kerak.   Zamonaviy
hisoblash   texnikasi   va   informatsion   texnologiyalarning   kun   sayin   rivojlanib,
jamiyatning   esa   tobora   informatsiyalashib   borishi   sababli,   uzluksiz   ta’lim
tizimining   o‘rta   va   yuqori   bosqichlariga   informatika,   ishlab   chiqarish   va
boshqarish   jarayonlarini   kompyuterlashtirish   bo‘yicha   bir   qator   o‘quv   fanlari
kiritilgan.
Hozirgi   kunda   respublikamizdagi   texnika   oliy   o‘quv   yurtlarida
“Informatika   va   axborot   texnologiyalari”   yo‘nalishi   va   mutaxasisliklariga   turli
xil   dasturlash   turlarini   o‘rnatish   mo`ljallangan.   Bizga   ma’lumki,   dasturlash
tillarining   yuzdan   ortiq   ko‘rinishlari   bor,   lekin   qo‘llanishi   ko‘lamiga   qarab
Delphi,   Phyton,   Java,   C++   va   C#   dasturlash   tillari   yuqori   dasturlash   sinfiga
mansubdir. 
Kurs ishimizning tarkibi va hajmi: 
Kurs ishimiz kirish qismi, ikkita bob, birinchi nazariy qism  va ikkinchi  amaliy
qism,   xulosa,   nazariy   test   savollari,   adabiyotlar   ro‘yxatidan   iborat   bo`lib,   38
betda bayon qilingan.
Kurs ishining maqsadi:
C#   -   bu   professional   dasturlash   tili.   C#   (C   sharp   deb   talaffuz   qilinadi)   -
bu   .NET   Framework   da   ishlaydigan   keng   doiradagi   korporativ   ilovalarni
yaratish   uchun   mo‘ljallangan   dasturlash   tili.   C#   tilining   maqsadi   .NET
rivojlanishi   uchun   oddiy,   xavfsiz,   zamonaviy,   obyektga   yo‘naltirilgan,   yuqori
samarali,   mustahkam   va   bardoshli   tilni   taqdim   etishdir.   Shuningdek,   u   ishlab
chiquvchilarga mijozlarning eng keng doirasi, jumladan, veb-ilovalar, Microsoft
Windows   Forms-ga   asoslangan   ilovalar   va   nozik   va   smart-mijoz   qurilmalari
uchun yechimlar yaratish imkonini beradi.
Visual   C#   dasturchilari   Microsoft   .NET   ishlab   chiqish   muhitida
muvaffaqiyatli bo‘lish uchun mavjud C, C++, Java ko‘nikmalari va bilimlaridan
foydalanishlari   mumkin.   Shunday   qilib,   ko‘plab   C,   Java   va   C++
4 ishlanmalari .NET xususiyatlaridan foydalanish uchun C# ga o‘tadi.   .NET CLR
(Common   Language   Runtime)   bilan   hamkorlikda   dasturchilarni   C,   C++   yoki
COM   kodlaridagi   mavjud   bilimlaridan   voz   kechishga   majburlamasdan,
ComponentOriented   dasturiy   ta minot   uchun   foydalanish   uchun   tilni   taqdimʼ
etadi.
Quyidagi   C#   darslari   til   asoslari   haqida   umumiy   ma'lumot   beradi   va
tilning   muhim   xususiyatlarini   aniqlaydi.   Har   bir   dars   bir   yoki   bir   nechta
namunaviy   dasturlarni   o‘z   ichiga   oladi.   Umid   qilamanki,   ushbu   veb-sayt   sizga
Windows   ilovalarini   Visual   C#   da   murakkab   usulda   emas,   balki
soddalashtirilgan   tarzda   ishlab   chiqish   uchun   zarur   bo‘lgan   ko‘nikma   va
bilimlarni olishga yordam beradi.
C #   -   bu   .NET   Framework-da   kiritilgan   obyektga   yo‘naltirilgan   til.   C#
professional dasturlash tili bo‘lib, ko‘p jihatdan C++ ga juda o‘xshaydi.   Biz C#
dasturlashda   inkapsulyatsiya,   meros   va   polimorfizm   kabi   obyektga
yo‘naltirilgan tushunchalarni amalga oshirishimiz mumkin.
C#   -   bu   oddiy,   kuchli,   umumiy   maqsadli   va   tip-xavfsiz   til,   shuningdek,
katta harflar sezgir.   Biz Microsoft-dan kuchli vositalarga boy dasturlash muhiti
bo‘lgan   Visual   Studio   da   C#   loyihalarini   ishlab   chiqishimiz   mumkin.   Biz   C#
muhitidan   konsolga   asoslangan   ilovalar   bilan   bir   qatorda   Windows-ga
asoslangan   ilovalarni   ham   yaratishimiz   mumkin.   C#   kodlash   uslubi   C++   va
JAVA   ga   juda   o‘xshaydi,   shuning   uchun   ushbu   tillarni   yaxshi   biladigan
dasturchilar C# kodlashni tezda olishlari mumkin.
.Net   Framework   Microsoft   kompaniyasining   asosiy   taklifidir   va   u
Windows   ilovalari,   veb-ilovalar   hamda   veb-xizmatlarni   ishlab   chiqish,
joylashtirish   va   ishga   tushirish   imkonini   beruvchi   Ko‘p   tilli   muhitni   taqdim
etadi.
.Net tillari Strukturaviy istisnolar  bilan ishlash,  ko p tarmoqli  dasturlash,	
ʻ
versiya   tuzish,   tezkor   veb-xizmatlarni   yaratish   va   ulardan   foydalanish   va
hokazolarni   joriy   qilish   orqali   ishlab   chiquvchilarning   imkoniyatlarini
5 kengaytiradi. Quyidagi havola .Net Framework ning har bir muhim komponenti
haqida umumiy ma lumot beradi.ʼ
Kurs   ishining   dolzarbligi:   Ushbu   kurs   ishi   hozirgi   kunda   axborot
texnologiyalarida   berilgan   masalalarni   dasturlash   tillari   orqali   yechish   va   bu
dasturlarda   yuzaga   keladigan   favqulotda   vaziyatlar   ya’ni   xatoliklarni   bartaraf
etish uchun xatoliklar bilan ishlovchi operatorlar, sinflar va ularning vazifalarini
o‘rganishga olib keladi
Kurs   ishining   maqsadi:   Windows   Formsdan   foydalangan   holda
CheckedListBox haqida tushuncha olish. Ularni qo‘llash usullarini o‘rganish va
shular asosida misollar ishlash.
Kurs   ishining   ob’yekti:   Windows   Formsdan   foydalangan   holda
takrorlash operatorlari haqida o‘quvchilarga ma’lumot berishdan iborat.
I. Windows Formsga kirish .  C# Windows shakllari
1. 1 . Windows Formsga kirish
C#  dasturchilari  foydalanuvchi   interfeyslarini  yaratish   uchun  shakllardan
keng   foydalanishgan.   Har   safar   Windows   ilovasini   yaratganingizda,   Visual
Studio   standart   bo‘sh   shaklni   ko‘rsatadi,   uning   ustiga   siz   boshqaruv
6 elementlarini   ilovalaringizning   asosiy   shakliga   sudrab,   ularning   o‘lchami   va
joylashishini sozlashingiz mumkin.
Birinchi qadam - yangi loyihani boshlash va shakl yaratish.   Visual Studio-
ni   oching   va   Fayl->Yangi   loyiha-ni   tanlang   va   yangi   loyiha   dialog   oynasidan
Boshqa   tillar->Visual   C#-ni   tanlang   va   Windows   Forms   Application-ni
tanlang.   Muloqot   oynasining   pastki   qismida   loyiha   nomini   kiriting   va   OK
tugmasini   bosing.   Quyidagi   rasmda   Visual   Studioda   yangi   forma   yaratish
ko‘rsatilgan.
Yangi loyiha muloqot oynasidan Windows Forms ilovasini tanlang.
7 1.2.  C# Windows shakllari
- C dasturlash tilining evolyutsiyasi:ALGO-BCPL-B-TraditionC-K&R C-ANSI
C-ANSI/ISO C99.
-   C   dasturlash   tili   Bell   labaratoriyasida   1972-yilda   Dennis   Ritchie   tomonidan
yaratilgan. 
-   C   dasturlash   tili   kompyuter   dasturlash   tillari   tarixida   eng   ko‘p   vaqt
foydalanilgan til hisoblanadi.
- C dasturlash tilida 45 ta operator bo‘lib ular 8 ta guruhga bo‘linadi. 
- C dasturlash tilida 2 xil konstanta bor. Bular: Primary va Secondary constant.
-   C   dasturlash   tili   obyektga   yo naltirilgan   dasturlash   tili   bo‘lmaganligi   uchunʻ
Vorislik va Polimforfizm tushunchalari yoq . 
- C dasturlash tili ko‘plab boshqa dasturlash tillarining asosi hisoblanadi. Misol
uchun   C++,   Java,   Java   Script,   Go,   Rust,Limbo,   LPC,   C#,   PHP,   Python,   Perl,
Verilog va C-shell shular jumlasidan.
Kompyuter tillari o z-o zidan emas, balki o zaro bir-biriga bog liqlikda mavjud	
ʻ ʻ ʻ ʻ
bo ladi.   Har   qanday   yangi   til   u   yoki   bu   shaklda   oldingi   yaratilgan   tillarning	
ʻ
xossalarini   o ziga   meros   qilib   oladi,   ya ni   ketma-ketlik   prinsipi   amalga	
ʻ ʼ
oshiriladi.   Natijada   bitta   tilning   imkoniyatlari   boshqalari   tomonidan
foydalaniladi   (masalan,   yangi   xususiyatlar   mavjud   kontekstga   birlashtiriladi,
tilning   eski   tuzilishlari   esa   o chirib   yuboriladi).   Kompyuter   tillarining	
ʻ
evolyutsiyasi   shunday   tarzda   ro y   beradi   va   dasturlash   mahorati	
ʻ
takomillashtiriladi.   C#   tili   yuqoridagilardan   istisno   emas,   u   boshqa   dasturlash
8 tillarining ko plab foydali imkoniyatlarini meros qilib oldi va dunyoda eng ko pʻ ʻ
qo llaniladigan   ikkita   kompyuter   tillari	
ʻ   -   Ci,   C++,   shuningdek   Java   tili   bilan
uzviy   bog liqdir.   C#   tili  	
ʻ 1972   yilda   Nyu-Djersi   shtatining   Myurrey-xill
shahrida   Bell   Laboratories   kompaniyasining   tizimli   dastur   tuzuvchisi   Dennis
Richie   tomonidan   yaratilgan.   Bu   til   o zini   shunchalik   yaxshi   ko rsatdiki,   oxir	
ʻ ʻ
oqibatda   unda   Unix   operatsion   tizimlarining   90   %   yadro   kodlari   yozildi   (oldin
quyi darajadagi til assemblerda yozilgan). C# ning vujudga kelishidan oldinroq
yaratilgan tillardan, (Pascal   ulardan eng mashhuri hisoblanadi), yetarli darajada
muvaffaqiyatli   foydalanilgan,   lekin   aynan   C#   tili   dasturlashning   zamonaviy
davri   boshlanishini   belgilabberdi.   1960-yillarda   dasturlash   texnologiyalaridagi
strukturaviy   dasturlashlarning   paydo   bo lishiga   olib   kelgan   inqilobiy	
ʻ
o zgarishlar   C#   tilini   yaratish   uchun   asosiy   imkoniyatlarni   belgilab   berdi.	
ʻ
Strukturaviy   dasturlashlarning   paydo   bo lishiga   qadar   katta   dasturlarni   yozish	
ʻ
qiyin   bo lgan,   satr   kodlari   miqdorining   oshishi   sababli   dasturlarning   o tish	
ʻ ʻ
joylari   chalkash   massalariga   aylanib   ketishiga   olib   keladi.   Strukturaviy   tillar
dastur   tuzuvchi   instrumentariysiga   shartli   operatorlarni,   lokal   o zgaradigan	
ʻ
tartiblarni  va boshqa  mukammallashtirishlarni  qo shib  bu muammoni  hal  qildi.	
ʻ
Shunday   tarzda   nisbatan   katta   dasturlarni   yozish   imkoniyati   vujudga   keldi.
Aynan   C#   tili   kuch,   elegantlik   va   ma nodorlikni   o zida   muvaffaqiyatli	
ʼ ʻ
birlashtirgan   birinchi   strukturaviy   til   bo ldi.   Uning   bo lishi   mumkin   bo lgan	
ʻ ʻ ʻ
xatolar   mas uliyatini   tilga   emas   dastur   tuzuvchi   zimmasiga   yuklaydigan	
ʼ
prinsiplar   bilan   inobatga   olgan   holda   sintaksisdan   foydalanishdagi   qisqalik   va
osonlik kabi xususiyatlari tezda ko plab tarafdorlarini topdi. Bugungi kunda biz	
ʻ
mazkur   sifatlarni   o z   o zidan   anglashiladigan   deb   hisoblaymiz,   lekin   C#   da	
ʻ ʻ
birinchi   marotaba   dastur   tuzuvchiga   zarur   bo lgan   ajoyib   yangi   imkoniyatlar	
ʻ
mujassamlashtirilgan.   Natijada   1980   yillardan   boshlab   C#   strukturaviy
dasturlash   tillari   orasida   eng   ko p   foydalaniladiganlaridan   biri   bo lib   qoldi.	
ʻ ʻ
Biroq,   dasturlashning   rivojlantirish   choralariga   ko ra   bundanda   kattaroq	
ʻ
dasturlarni  qayta  ishlash  muammosi  kelib  chiqmoqda. Loyiha kodi   ma lum   bir	
ʼ
hajmga   yetgan   zahoti   (uning   raqamli   ahamiyati   dastur,   dastur   tuzuvchi,
9 foydalanilgan instrumentlarga bog liq bo ladi, lekin taxminan 5000 satr kodlariʻ ʻ
nazarda tutilayapti) C# dasturlarini tushunish va kuzatib borishda qiyinchiliklar
yuzaga   keladi.   C#   dasturlash   tilida   boshqa   dasturlash   tilida   boshqa   dasturlash
tillari-misol   uchun   C++   dagidek   8   razryadli   kodlash   tizimidan   emas,   Unicode
deb   ataluvchi   16   razryadli   kodlash   tizimidan   foydalaniladi.   C#   leksik   jihatdan
kengaytirilgan,   imperative,   deklarativ,   funktsional,   umumiy,   ob’ektga
yo`naltirilgann (sinfga asoslangan)  va kompanentlarga yo‘naltirilgan dasturlash
fanlarni   o‘z   ichiga   olganumumiy   maqsadli,   ko‘p   paradigmali   dasturlash   tili.   U
1998-2001-yilda   Microsoft   kompaniyasi   dasturchilari   Anderson   Xeylsberg   va
Skot.V lar tomonidan .NET tashabbusi doirasida ishlab chiqilganva keyinchalik
Ecma   (ECMA-334)   va   ISO   (ISO/IES23270:2018)   tomonidan   xalqaro   standart
sifatida   tasdiqlangan.   Hozirgi   kunda   C#   dasturlash   tili   yuqori   bosqichli
dasturlash   tillari   ichida   eng   samarali   dasturlash   tillaridan   hisoblanadi.   C#
dasturlash   tilida   dastur   tuzish   uchun   Visual   Studio   .NET   muhitidan
foydalanamiz.   C#   dasturlash   tili   obektga   mo‘ljallangan   dasturlash   tili
hisoblanadi.   Visual   Studio.NET   sistemasida   dasturni   kompilyatsiya   qilish   va
bajarishning   bir   necha   usuli   bor.   Ko‘p   hollarda   dasturchilar   dasturni   alohida
kompilyatsiya   qilib   bir   nechta   klavishalar   kombinatsiyalari   orqali   ishlatishga
o‘rganishgan.  
C# da dasturlashning asosiy qismi:
C# sistemasi asosan quyidagi qismlardan iborat. Bular dasturni yozish redaktori,
C#   tili   va   standart   kutubxonalardir.   C#   dasturi   ma’lum   bir   fazalardan   o‘tadi.
Birinchisi   dasturni   yozish   va   tahrirlash,   ikkinchisi   preprosessor   amallarini
bajarish,   kompilyatsiya,   kutubhonalardagi   ob’ekt   va   funksiyalarni   dastur   bilan
bog‘lash (link), hotiraga yuklash (load) va bajarish (execute).
CheckedListBox   komponenti,   bir   Windows   Forms   ilovalarida
foydalanuvchi   tomonidan   bir   nechta   elementlarni   belgilash   va   o‘chirish
imkoniyatini beruvchi bir kontrol elementidir.
10 CheckedListBox,   qatorlar   va   belgilar   ko‘rinishida   elementlar   ro‘yxatini
ko‘rsatadi.   Foydalanuvchilar,   kerakli   elementlarni   tanlab   belgilay   oladi   yoki
albatta bo‘lmagan elementlarni tanladiqda belgilanmasligini ta'riflaydi.
Ushbu komponent orqali foydalanuvchilar sadalangan ro‘yxatni belgilash,
mulkni   tanlash,   elementlarni   sifatini   o‘zgartirish   va   boshqa   amallarni   bajarish
mumkin. Komponentning bazi asosiy xususiyatlari quyidagilardir:
1.Items:   CheckedListBox   elementlarini   saqlaydigan   koleksiya.
Elementlarni bajarish uchun bu xususiyat orqali qo‘shish va o‘chirish mumkin.
2.CheckOnClick: Bu xususiyat belgilangan elementlarni bosib belgilashni
imkoni   yoki   belgilangan   elementlarni   faqat   "Check"   yoki   "Uncheck"   bosib
belgilanishini biriktiradi.
3.CheckedItems:   Belgilangan   elementlarni   saqlaydigan   koleksiya.
Foydalanuvchi belgilangan elementlar ro‘yxatiga erishish uchun bu xususiyatni
ishlatadi.
4.CheckState:   Elementlarning   belgilash   holati.   Bu   xususiyat   orqali
elementning belgilash holatini o‘qish va sozlash mumkin.
CheckedListBox   komponenti   yaratish   va   haridandan   foydalanish
Windows Forms ilovalarida ko‘p ishlatiladi.
CheckedListBox   elementi   ListBox   va   CheckBox   komponentlarining
simbiozini   ifodalaydi.   Bunday   ro‘yxatning   har   bir   elementi   uchun   maxsus
CheckBox   maydoni   belgilanadi,   uni   belgilash   mumkin.   Barcha   elementlar
CheckedListBox-da   Items   xususiyatida   o‘rnatiladi.   ListBox   va   ComboBox
elementlari   singari,   biz   ham   elementlar   to‘plamini   o‘rnatishimiz   mumkin.
Ro‘yxatdagi   element   yonidagi   checkBox-ga   belgi   qo‘yish   uchun   avval
elementni   ajratib   ko‘rsatishimiz   va   qo‘shimcha   bosish   bilan   katakchani
belgilashimiz   kerak.   Biroq,   bu   har   doim   ham   qulay   emas   va   CheckOnClick
xususiyati   va   uning   uchun   true   qiymatini   o‘rnatish   orqali   biz   darhol   elementni
tanlashni   va   unga   bir   marta   bosish   bilan   katakchani   belgilashni   aniqlashimiz
mumkin.   Haqiqiy   qiymatdagi   MultiColumn-ning   yana   bir   xususiyati,   agar
elementlar   uzunlikka   mos   kelmasa,   ko‘p   ustunli   ro‘yxatni   tuzishga   imkon
11 beradi.   Tanlangan   elementni   SelectedItem   xususiyati   va   uning   indeksini
SelectedIndex   xususiyati   yordamida   ham   olishimiz   mumkin.   Ammo   bu   faqat
SelectionMode xususiyati One ga o‘rnatilgan bo‘lsa, to‘g‘ri keladi, bu faqat bitta
elementni   tanlashni   anglatadi.   SelectionMode   xususiyati   uchun   MultiSmple   va
MultiExtended   qiymatlarini   o‘rnatishda   siz   bir   vaqtning   o‘zida   bir   nechta
elementlarni   tanlashingiz   mumkin,   shundan   so‘ng   barcha   tanlangan   elementlar
SelectedItems  xususiyatida  va  ularning indekslari   SelectedIndeces  xususiyatida
mavjud   bo‘ladi.   Va   biz   barcha   tanlangan   elementlarga   belgi   qo‘ymasligimiz
sababli,   belgilangan   elementlarni   alohida   olish   uchun   CheckedListBox
CheckedItems   va   CheckedIndices   xususiyatlariga   ega.   CheckedListBox-ga
elementlarni   qo‘shish   va   olib   tashlash   uchun   LstBox-dagi   barcha   usullar
aniqlanadi:
Add (item):  bitta elementni qo‘shadi 
AddRange (array):  ro‘yxatga bir qator elementlarni qo‘shadi 
Insert (index, item):  ma ‘ lum bir indeks bo‘yicha element qo‘shadi 
Remove (item):  elementni olib tashlaydi 
RemoveAt (index):  elementni ma’lum bir indeks bo‘yicha olib tashlaydi
Clear ():  ro‘yxatni to‘liq tozalaydi
Elementning   xususiyatlari   setitemchecked   va   SetItemCheckState
usullarini   o‘z   ichiga   oladi.   Setitemchecked   usuli   elementlardan   biriga   belgi
qo‘yish yoki tiklash imkonini beradi. A setitemcheckstate usuli katakchani uchta
holatdan   biriga   belgilashga   imkon   beradi:   tekshirilgan   (belgilangan),
belgilanmagan (belgilanmagan) va Indeterminate (oraliq holat):
checkedListBox1.SetItemChecked(0, true);
checkedListBox1.SetItemCheckState(1, CheckState.Indeterminate);
Windows   Forms   Application   ni   tanlaganingizdan   so‘ng   siz   yangi   C#
loyihangizda   standart   shaklni   (Form1)   ko‘rishingiz   mumkin.   Dizayner
ko‘rinishida   siz   ko‘rgan   Windows   Formasi   ilovangiz   ochilganda   ochiladigan
oynaning   vizual   ko‘rinishidir.   Siz   istalgan   vaqtda   dizayn   yuzasi   yoki   kod
oynasiga   sichqonchaning   o‘ng   tugmachasini   bosib,   so‘ng   kodni   ko‘rish   yoki
12 Dizaynerni ko‘rish tugmalarini bosish orqali istalgan vaqtda ushbu ko‘rinish va
Kod   ko‘rinishi   o‘rtasida   o‘tishingiz   mumkin.   Quyidagi   rasmda   standart   shakl
(Form1) qanday ko‘rinishi ko‘rsatilgan.
Shaklning   yuqori   qismida   shakllar   sarlavhasini   ko‘rsatadigan   sarlavha
satri   mavjud.   Form1   standart   nom   bo‘lib,   siz   o‘zingizning   qulayligingiz   uchun
nomni   o‘zgartirishingiz   mumkin.   Sarlavha   satrida   kichiklashtirish,
kattalashtirish va yopish tugmalari joylashgan boshqaruv oynasi ham mavjud.
Shaklning   biron   bir   xususiyatlarini   o‘rnatmoqchi   bo‘lsangiz,   uni
o‘zgartirish   uchun   Visual   Studio   Property   oynasidan   foydalanishingiz
mumkin.   Xususiyatlar   oynasini   ko‘rmasangiz,   Ko‘rish   menyusida   Xususiyatlar
oynasini   bosing.   Ushbu   oynada   hozirda   tanlangan   Windows   formasi   yoki
boshqaruvi  xususiyatlari   ro‘yxati  keltirilgan va  bu erda  siz  mavjud qiymatlarni
o‘zgartirishingiz mumkin.
13 Masalan, formalar sarlavhasini Form1 dan MyForm ga o‘zgartirish uchun
Form1   ni   bosing   va   Xususiyatlar   oynasining   o‘ng   tomoniga   o‘ting,   Matn
xususiyatini   MyForm   ga   o‘rnating.   Keyin   shakl   sarlavhasi   o‘zgartirilganligini
ko‘rishingiz   mumkin.   Xuddi   shunday,   Xususiyatlar   oynasi   orqali   formaning
istalgan xususiyatlarini o‘rnatishingiz mumkin.
Form1   xususiyatlarini   kodlash   orqali   ham   o‘rnatishingiz
mumkin.   Kodlash   uchun   siz   dizayn   yuzasi   yoki   kod   oynasini   sichqonchaning
o‘ng tugmasi bilan bosishingiz va keyin Kodni ko‘rish-ni bosishingiz kerak.
Formani   sichqonchaning   o‘ng   tugmasi
bilanbossangiz,   oyna   orqasida   kod   olasiz,
u yerdakodingizni yozishingiz mumkin.
14 II.BOB  C # dasturlash tilida CheckedListBox komponentasi
2.1. ListBox elementi bilan ishlash
ListBox   elementi   oddiy   ro‘yxatdir.   Ushbu   elementning   asosiy   xususiyati
Items xususiyati bo‘lib, u barcha ro‘yxat elementlari to‘plamini saqlaydi.
Elementlar   ro‘yxatga   dizayn   vaqtida   yoki   dasturiy   ravishda   qo‘shilishi
mumkin.   Visual   Studio   dasturida   ListBox   elementining   Xususiyatlar   oynasida
Items xususiyatini topishimiz mumkin. Mulkni ikki marta bosgandan so‘ng, biz
ro‘yxatga elementlar qo‘shish oynasini ko‘ramiz:
Bo‘sh maydonda biz ro‘yxatning bitta elementini kiritamiz - har bir satrda
bittadan.   Shundan   so‘ng,   biz   qo‘shgan   barcha   elementlar   ro‘yxatda   bo‘ladi   va
biz ularni boshqarishimiz mumkin bo‘ladi:
                        
ListBoxdagi elementlarni dasturiy nazorat qilish.
15 Elementlarni qo‘shish
Shunday   qilib,   ro‘yxatning   barcha   elementlari   Items   to‘plam   bo‘lgan
xususiyatga   kiritilgan.   Ushbu   to‘plamga   va   shuning   uchun   ro‘yxatga   yangi
element  qo‘shish  uchun siz qo‘shish  usulidan foydalanishingiz  kerak, masalan:
listBox1.Items.Add("Yangi   element");.   Ushbu   usuldan   foydalanganda   har   bir
qo‘shilgan element ro‘yxat oxiriga qo‘shiladi.
Bir   vaqtning   o‘zida   bir   nechta   elementlarni   qo‘shishingiz   mumkin,
masalan, massiv. Buning uchun  AddRange  usuli qo‘llaniladi:  
string [] countries = { " Бразилия ", " Аргентина ", " Чили ", " Уругвай "   };
listBox1.Items.AddRange(countries);
Elementlarni kiritish
Oddiy   qo‘shimchadan   farqli   o‘laroq,   kiritish   Insert   usuli   yordamida
ro‘yxatning ma ’ lum bir indeksida amalga oshiriladi:
listBox1.Items.Insert(1,  " Парагвай " );
Elementlarni olib tashlash
Elementni   matni   bo‘yicha   olib   tashlash   uchun   Remove   usulidan
foydalaning:
listBox1.Items.Remove( " Чили " );
Ro yxatdagi   indeks   bo yicha   elementni   olib   tashlash   uchun  ʻ ʻ RemoveAt
usulidan foydalaning:
listBox1.Items.RemoveAt(1);
Bundan   tashqari,   Clear   usulini   qo‘llash   orqali   bir   vaqtning   o‘zida   butun
ro‘yxatni tozalashingiz mumkin:
listBox1.Items.Clear();  
Ro‘yxat elementlariga kirish
Element   indeksidan   foydalanib,   siz   elementning   o‘zini   ro‘yxatda
olishingiz mumkin. Masalan, ro‘yxatning birinchi elementini olaylik: 
string   firstElement = listBox1.Items[0];  
Count  xususiyati ro‘yxatdagi elementlar sonini qaytaradi: 
int   number = listBox1.Items.Count;
16 Ro‘yxat elementlarini tanlash
Ro‘yxat   elementlarini   tanlashda   biz   ularni   indeks   orqali   ham,   tanlangan
elementning   o‘zi   orqali   ham   boshqarishimiz   mumkin.   ListBox   elementining
quyidagi xossalari yordamida tanlangan elementlarni olishingiz mumkin :
SelectedIndex   -   Tanlangan   ro yxat   elementining   raqamini   oladi   yokiʻ
o rnatadi.  Agar   tanlangan  elementlar  bo‘lmasa,  u holda  xususiyat   -1  qiymatiga	
ʻ
ega bo‘ladi.
SelectedIndices   -   Tanlangan   elementlar   to‘plamini   ularning   indekslari
to‘plami sifatida qaytaradi yoki o‘rnatadi.
SelectedItem  - Tanlangan elementning matnini oladi yoki o‘rnatadi.
SelectedItems   -   Tanlangan   elementlarni   to‘plam   sifatida   oladi   yoki
o‘rnatadi.
Odatda   ro‘yxat   bitta   elementni   tanlashni   qo‘llab-quvvatlaydi.   Bir   nechta
elementni   tanlash   imkoniyatini   qo‘shish   uchun   SelectionMode   xususiyatiga
MultiSimple xossasini o‘rnatish kerak.
Elementni dasturiy jihatdan tanlash uchun siz SetSelected(int index, bool
value),   usulini   qo‘llashingiz   kerak,   bu   erda   indeks   tanlangan   elementning
raqami.   Agar   ikkinchi   parameter   value   -   true   qiymatga   ega   bo‘lsa,   u   holda
ko‘rsatilgan   indeksdagi   element   tanlanadi,   agar   false   bo‘lsa,   aksincha   tanlov
yashirin bo‘ladi:
listBox1.SetSelected(2,  true );  //   3-element tanlangan bo‘ladi
Barcha   tanlangan   elementlarni   bekor   qilish   uchun   ClearSelected   dan
foydalaning.
17 2.2.CheckBox elementi bilan ishlash.
CheckBox elementi ma’lum parametrlarni yoqish yoki o‘chirish imkonini
beruvchi   yoki   turli   xil   sozlamalar   holatini   ko‘rsatish   uchun   ishlatiladigan
katakchani amalga oshiradi.
Foydalanuvchi   har   safar   CheckBox   elementini   bosganida   uning   holati
o‘zgaradi va umumiy holatda uchta qiymatdan o‘tadi:
 Belgilangan.  Oq fonda tasdiq belgisi paydo bo‘ladi;
 O‘rta.   To‘rtburchak   paydo   bo‘lib,   belgilash   qutisining   holati   noaniq
ekanligini bildiradi;
  Belgilanmagan.  Bo‘sh oyna.
Oraliq holatga faqat  ThreeState xususiyati  True ga o‘rnatilgan bo‘lsa ruxsat
etiladi.   Agar   ThreeState=   False(standart),   u   holda   faqat   ikkita   holatga     ruxsat
beriladi: belgilangan va belgilanmagan.
Elementning   asosiy   hodisasi   OnChange   bo‘lib,   component   bayrog‘ining
holati   o‘zgarganda   sodir   bo‘ladi.   Ushbu   hodisa   uchun   ishlov   beruvchida
allaqachon   yangi   qiymatlarni   olgan   komponentning   Checked   va   State
xususiyatlarini  tahlil qilishimiz mumkin.
Misol:
                              
CheckBox komponentining xusuxiyatlari:
 Align     xususiyati   komponentni   o‘z   ichiga   olgan   asosiy   komponentning
o‘lchami o‘zgartirilganda qanday harakat qilishini aniqlaydi.
 Alignment  xususiyati komponentdagi matnning tekislanishini aniqlaydi.
 AllowDrag   xususiyati   sudrab   olingan   obyektni   komponentdan   olish
imkoniyatini belgilaydi.
18  Anchors   xususiyati   asosiy   component   o‘lchamini   o‘zgartirganda     joriy
komponentning o‘chamini o‘zgartirish foizini aniqlaydi.
 Brush   xususiyati   komponent   maydonini   to‘ldirish   uchun   ishlatiladigan
cho‘tkani belgilaydi   .
 Checked   xususiyati   komponentning   belgilash   katakchasi   holatini
aniqlaydi   .
 ClientHeight   xususiyati   komponentning mijoz  maydonining balandligini
olish yoki o‘rnatish uchun ishlatiladi   .
 ClientWidth   xususiyati   komponentning   mijoz   maydonining   kengligini
olish yoki o‘rnatish uchun ishlatiladi.
 Color  xususiyati komponentning fon   rangini   belgilaydi.
 ComponentCount   xususiyati bola komponentlar sonini qaytaradi   .
 Components   xossasi bola komponentni qaytaradi   .
 Cursor  xususiyati komponent ustidagi   kursor   turini belgilaydi.
 Data   xususiyati   har   qanday   foydalanuvchi   ma’lumotlarini   saqlash   uchun
mo‘ljallangan   .
 Enabled   xususiyati   komponentning   foydalanuvchi   uchun   mavjudligini
aniqlaydi   .
 Focused   xususiyati,   agar diqqat  ushbu komponentga
qaratilsa,   True   qiymatini qaytaradi .
 Shrift   xossasi   matnni   ko‘rsatishda   foydalaniladigan   shriftni   tavsiflovchi
xususiyatlar to‘plamini belgilaydi.
 Height   xususiyati komponentning balandligini belgilaydi   .
 HelpContext   xususiyati ushbu   komponent uchun noyob kontekstga sezgir
yordam mavzusi indeksini belgilaydi.
 Hint  xususiyati komponent uchun   maslahat   matnini belgilaydi.
 Left   xossasi komponentning chap chetining koordinatasini belgilaydi   .
 Name   xususiyati komponent nomini belgilaydi   .
 Parent   xossasi asosiy komponentni belgilaydi   .
19  ParentColor   xossasi   komponentning   asosiy   komponent   rangini   olish-
olmasligini aniqlaydi.
 ParentFont   xususiyati   komponent   uchun   asosiy   komponent   shrifti
ishlatilishini aniqlaydi   .
 ParentShowHint   xossasi   asboblar   maslahatini   ko‘rsatish   shartini
belgilaydi   .
 PopupMenu   xossasi   komponentda   sichqonchaning   qo‘shimcha   tugmasi
bosilganda paydo bo‘ladigan kontekst menyusini belgilaydi.
 Scrolls   xususiyati   komponentning  aylantirish   satrlari  uchun   sozlamalarni
qaytaradi   .
 ShowHint   xossasi   komponentlar   bo‘yicha   qalqib   chiquvchi   oynaning
ko‘rinishini yoqadi   va o‘chiradi.
 State  xossasi komponent bayrog‘ining   holatini   belgilaydi.
 TabOrder  xossasi   komponentning yorliqlar tartibidagi o‘rnini aniqlaydi   .
 TabStop   xossasi   TAB   tugmasi   bosilganda   komponentning   fokusni   olish
zarurligini aniqlaydi   .
 Tag   xususiyati   kompilyator   tomonidan   ishlatilmaydi   .   Foydalanuvchi
Tag   xususiyati qiymatini o‘zgartirishi va undan     o‘zi
xohlagancha   foydalanishi mumkin.
 Text   xossasi   komponentni   foydalanuvchiga   identifikatsiya   qiluvchi
qatorni belgilaydi   .
 Top   xususiyati   komponentning   yuqori   chetining   koordinatasini
belgilaydi.
 Visible   xususiyati komponentning ishlash vaqtida ko‘rinishini aniqlaydi.
 Width   xususiyati komponentning kengligini aniqlaydi.
20 2.3. CheckedListBox elementi bilan ishlash
CheckedListBox   elementi   ListBox   va   CheckBox   komponentlarining
simbiozini   ifodalaydi.   Bunday   ro‘yxatning   har   bir   elementi   uchun   maxsus
CheckBox maydoni belgilanadi, uni tekshirish mumkin.
CheckedListBox-da   ko‘rsatilgan   barcha   elementlar   Items   xususiyatida
ko‘rsatilgan. Xuddi ListBox va ComboBox elementlarida bo‘lgani kabi, biz ham
elementlar   to‘plamini   belgilashimiz   mumkin.   Odatda,   qo‘shilgan   har   bir   yangi
element katagiga belgi qo‘yilmaydi:
Ro‘yxatdagi  element  yonidagi   katakchaga  tasdiq  belgisini   qo‘yish  uchun
biz   avval   elementni   tanlashimiz   kerak   va   qo‘shimcha   bosish   bilan   katakchaga
belgi   qo‘yamiz.   Biroq,   bu   har   doim   ham   qulay   emas   va   CheckOnClick
xususiyatidan   foydalanib   va   unga   qiymat   o‘rnatish   orqali   true   biz   bir   marta
bosish   orqali   elementni   tanlash   va   uning   uchun   bayroqni   o‘rnatishni   darhol
aniqlashimiz mumkin.
Boshqa  MultiColumn  xususiyatining qiymati true bo‘lganda, ko‘p ustunli
ro‘yxatni yaratishga imkon beradi, elementlarning uzunligi mos kelmasa:
21 Tanlangan elementni SelectedItem   xossasidan,   indeksini   esa
SelectedIndex  xususiyatidan foydalanib ham olishimiz mumkin. Lekin bu faqat
SelectionMode   xossasi   ga   One   o‘rnatilgan   bo‘lsa   to‘g‘ri   bo‘ladi,   ya ’ ni   faqat
bitta element tanlangan.
SelectionMode   qiymatlariga   MultiSmple   va   MultiExtended
o‘rnatishdan   oldin   bir   vaqtning   o‘zida   bir   nechta   elementlarni   tanlashingiz
mumkin,   keyin   barcha   tanlangan   elementlar   SelectedItems   xususiyatida   va
ularning indekslari  SelectedIndeces  xususiyatida mavjud bo‘ladi .
Va   biz   barcha   tanlangan   elementlarni   tekshira   olmasligimiz   sababli,
belgilangan   elementlarni   alohida   olish   uchun   CheckedListBox-da
CheckedItems  va  CheckedIndices  xususiyatlari mavjud.
CheckedListBox-ga   elementlarni   qo‘shish   va   o‘chirish   uchun   ListBox-
dagi kabi barcha usullar aniqlanadi:
Add(item)  - bitta element qo‘shadi.
AddRange(array)  - ro yxatga elementlar massivi qo shadi.ʻ ʻ
Insert(index, item)  – ma’lum bir indeksga element qo‘shadi.
Remove(item)  - elementni olib tashlaydi.
RemoveAt(index)  – ma ’ lum bir indeksdagi elementni olib tashlaydi.
Clear()  - ro yxatni butunlay tozalaydi.	
ʻ
SetItemChecked va SetItemCheckState
Element xususiyatlariga  SetItemChecked  va  SetItemCheckState  usullari
kiradi.   SetItemChecked   usuli   elementlardan   birini   o‘rnatish   yoki   belgini   olib
tashlash   imkonini   beradi.   Va   SetItemCheckState     usuli   sizga   uchta   holatdan
birida katakchani o‘rnatishga imkon beradi: Checked (belgilangan), Unchecked
(belgilanmagan) va Indeterminate (oraliq holat).
Ushbu   boshqaruv   elementi   klaviatura   yoki   boshqaruvning   o‘ng
tomonidagi aylantirish paneli yordamida foydalanuvchi  harakat  qilishi  mumkin
bo‘lgan elementlar ro‘yxatini taqdim etadi.  
Ishlash   vaqtida   ro‘yxatga   ob'ektlarni   qo‘shish   uchun   AddRange   usuli
yordamida   ob'ektga havolalar qatorini tayinlanadi .   Keyin ro‘yxat har bir ob'ekt
22 uchun   standart   satr   qiymatini   ko‘rsatadi.   Qo‘shish   usuli   yordamida   ro‘yxatga
alohida elementlar qo‘shish mumkin .
CheckedListBox   obyekti   CheckState   ro‘yxati   orqali   uchta   holatni
qo‘llab-   quvvatlaydi   Checked,   Indeterminate   va   Unchecked   .   Kodda   noaniq
holatini   o‘rnatishingiz   kerak,   chunki   CheckedListBox   foydalanuvchi   interfeysi
buni amalga oshirish mexanizmini ta’minlamaydi.
UseTabStops   bo‘lsa   ,   CheckedListBox   element   matnidagi   yorliq
belgilarini   tanib,   kengaytirib,   ustunlar   yaratadi   .   Ushbu   yorliq   to‘xtash   joylari
oldindan   o‘rnatilgan   va   ularni   o‘zgartirib   bo‘lmaydi.   Maxsus   tab   to xtashʻ
joylaridan foydalanish uchun   UseTabStopsni,   UseCustomTabOffsetsni
o rnatiladi   va	
ʻ   CustomTabOffsets   to plamiga   maxsus   qiymatlarni	ʻ
qo shiladi	
ʻ   .
UseCompatibleTextRendering  xususiyati   bo‘lsa,   CustomTabOffsets       xususiyati
e’tiborga olinmaydi va standart yorliq ofsetlari bilan almashtiriladi.
CheckedListBox   klassi   quyidagi   uchta   indekslangan   to‘plamni   qo‘llab-
quvvatlaydi:
 CheckedListBox.ObjectCollection   -   CheckedListBox     boshqaruvidagi
barcha elementlar   -
 CheckedListBox.CheckedItemCollection   -   belgilangan   elementlar
(jumladan, noaniq holatdagi elementlar),   bu   CheckedListBox
boshqaruvidagi elementlarning kichik to‘plamidir.
 CheckedListBox.CheckedIndexCollection   -   belgilangan   indekslar,   bu
elementlar to‘plamidagi indekslarning kichik to‘plamidir.   Ushbu indekslar
tekshirilgan yoki noaniq holatda bo‘lgan narsalarni belgilaydi.
CheckedListBox   boshqaruvi   sizga ro‘yxat oynasining barcha imkoniyatlarini
beradi va ro‘yxat oynasidagi   elementlarning yonida   tasdiq belgisini ko‘rsatishga
imkon beradi.
Foydalanuvchi   bir   yoki   bir   nechta   element   tomonidan   tasdiq   belgisini   qo‘yishi
mumkin   va   belgilangan   elementlarni   CheckedListBox.CheckedItemCollection
va CheckedListBox.CheckedIndexCollection   bilan navigatsiya qilish mumkin .
23 Qo‘shish   usuli   bilan   alohida   elementlarni   ro‘yxatga   qo‘shishingiz
mumkin   .   CheckedListBox   obyekti   CheckState   ro‘yxati   orqali   uchta   holatni
qo‘llab-quvvatlaydi: belgilangan, aniqlanmagan va belgilanmagan.
Agar   ishga   tushirish   vaqtida   ro yxatga   ob yektlar   qo shishniʻ ʼ ʻ
istasangiz,   AddRange   usuli   yordamida   ob yektlarga   havolalar   qatorini
ʼ
tayinlang .   Keyin ro‘yxat har bir ob'ekt uchun standart satr qiymatini ko‘rsatadi.
Parametrlar
 Index(Int32) - Tekshirish holatini o‘rnatish uchun element indeksi.
 Value(Mantiqiy)   -   elementni   belgilangan   qilib   belgilash   uchun   rost;   aks
holda, yolg‘on.
Agar   siz   CheckedListBoxdagi   barcha   elementlarni   belgilab   qo‘ymoqchi
bo‘lsangiz,   SetItemChecked   usuli qiymatini true ga o‘zgartiring.
Belgilangan ro‘yxatdagi barcha elementlarni belgilang
CheckedListBox   komponenti   o‘z   ichiga   CheckBox   elementlaridan   iborat
ro‘yxatni oladi.
CheckedListBox   komponentining   ro‘yxatini   bevosita   kod   orqali   Add
metodidan foydalangan holda Items orqali shakllantirish mumkin.
CheckBox   komponenti   belgilangan   katakchaga   tasdiqlash   belgisini   qo‘yish
vazifasini   bajaradi.   Bunda   ikki   xil   holat   bo‘lishi   mumkin:   belgilangan   va
belgilanmagan.   Belgilangan   holat   –   o‘rnatilgan,   tasdiqlangan   yoki   yoniq,
belgilanmagan   holat   esa   –   tasdiqlanmagan   yoki   o‘chiq   manolarini   anglatadi.
CheckBox   komponenti   asosan   mavjud   imkoniyatlar   orasidan   bir   nechtasini
tanlab olish holatlarida ishlatiladi.
CheckedListBox   komponentidan   ovqatlanish   shaxobchalari(kafe)lardagi
elektron buyurtma berish jarayonida foydalanishimiz mumkin.
Buning   uchun   yangi   forma   yaratamiz   va   unga   RadioButton,
CheckedListBox,   ListBox   va   Buttonlarni   rasmda   ko‘rsatilganday   joylashtirib
chiqamiz.
24                               
 Bu yerda:
 RadioButton – mahsulot turlari
 CheckedListBox – mahsulotlar ro‘yxati
 Button – maxsus buyruqlarni bajaruvchi tugmalar
 ListBox – tasdiqlangan mahsulotlar ro‘yxati
Har   bir   elementga   tushunarli   nom   beramiz.   Bunda   ham   komponentning   nomi,
ham uning ekranga chiqadigan matnini o‘zgartirishimiz muhim!
                            
Bunda dastur quyidagi tartibda ishlaydi:
1. Dastur   yuqoridagicha   boshlanadi.   Dastlab   CheckedListBox   va   ListBox
maydonlari bo‘sh bo‘ladi.
2. Mahsulot turi RadioButton orqali tanlanadi.
25 3. Bunda   har   bir   RadioButton   komponentlariga   oldindan   kiritilgan   ro‘yxat
CheckedListBox elementlari sifatida chiqariladi.
4. CheckedListBox   elementlari   orasidan   tanlanib,   Tasdiqlash   tugmasi
bosilganda,   CheckedListBox   elementlarining   tanlanganlari   ListBox
komponenti elementlari sifatida ekranga chiqariladi.
5. Kerakli   mahsulotlar   tanlangandan   keyin   Buyurtma   berish   tugmasini
bosish   orqali   tanlangan   mahsulotlar   ro‘yxati   MessageBox   oynasi   orqali
ekranga chiqariladi.
Dastlabki   holatda   birorta   ham   RadioButton   tanlanmagan   bo‘ladi.
RadioButton   komponentini   tanlaganda   oldindan   kiritilgan   ro‘yxatni
checkedlistbox1(biz uni menu deb nomlaganmiz) komponentiga chiqarish uchun
radiobutton1ga ikki marta bosib, quyidagi kodni kiritamiz:
private void radiobutton1CheckedChanged(object sender, EventArgs e)
        {
            string[] birTaom = new string[5];
            birTaom[0] = "Osh";
            birTaom[1] = "Qovurma lag‘mon";
            birTaom[2] = "Dimlama";
            birTaom[3] = "Shashlik";
            birTaom[4] = "Somsa";
            CheckedListBox1.Items.Clear();
            foreach (string s in birTaom)
            { CheckedListBox1.Items.Add(s); }
    }
Bunda mahsulotlar nomi satrli tipga mansubligi uchun ularni satrli massiv
sifatida e’lon qilamiz. Tushunarli bo‘lishi uni birTaom deb nomlaymiz. taomBir
o‘zgarganda   satrli   massiv   sifatida   mahsulotlar   turini   e’lon   qilamiz.   Ushbu
massivning   har   bir   elementini   CheckedListBox1   elementi   sifatida   ekranga
chiqaramiz. Buning uchun foreach sikl operatoridan foydalanamiz. foreach sikl
operatori   massiv   tarkibidagi   har   bir   elementni   ajratib   beradi.   Add()   metodidan
26 foydalanib ajratib olingan massiv elementlarini menuning ro‘yxatiga qo‘shamiz.
Har bir RadioButton uchun har xil ro‘yxat bo‘lganligi sababli  CheckedListBox
ni tozalab olishimiz kerak. Buning uchun Clear() metodidan foydalanamiz.
Xuddi   shu   tartibda   radiobutton2   uchun   ham   taomlar   ro‘yxatini   ikkiTaom
satrli massiv sifatida e’lon qilamiz. Navbat bilan radiobutton3 uchun tez tayyor
bo‘ladigan   mahsulotlar   ro‘yxatini   Fastfood   satrli   massiv   sifatida   e’lon   qilamiz.
radiobutton4 uchun turli xil ichimliklar ro‘yxatini ichimlik satrli massiv sifatida
e’lon   qilamiz.   radiobutton5   uchun   shirinliklar   ro‘yxatini   desert   satrli   massiv
sifatida e’lon qilamiz. (Batafsil ilovada berilgan).
RadioButton elementlari tanlanganda CheckedListBoxga ro‘yxat chiqarishni
ko‘rib   chiqdik.   Endi   Tasdiqlash   tugmasi   bosilganda   CheckedListBoxning
tanlangan elementlarini ekranga chiqarishni ko‘rib chiqamiz.
Buning uchun Tasdiqlash tugmasi  bosilganda quyidagi kodni kiritamiz:
private void button1_Click(object sender, EventArgs e)
        {
            foreach (string s in CheckedListBox1.CheckedItems)
            {
                ListBox.Items.Add(s);
                buyurtma += i + ". " + s + "\n";
27                 i++;
            }
         }
Bunda menuning har bir tanlangan elementi foreach sikl operatori yordamida
ajratib   olinib,   ListBox   elementlariga   qo‘shiladi.   Bundan   tashqari   dastur
yakunlanganda   yakuniy   natijani   ekranga   chiqarish   uchun   satrli   tipga   mansub
buyurtma o‘zgaruvchisini e’lon qilamiz.
string buyurtma = "";
int i=1;
Button1   tugmasi   bosilganda   menuning   tanlab   olingan   elementlari   ham
Listbox1ga,   ham   buyurtma   o‘zgaruvchisiga   yoziladi.   Shuningdek,   mahsulotlar
sanoq   bo‘yicha   chiqishi   uchun   i   o‘zgaruvchi   e’lon   qilinadi.   Bunda   i   ning
boshlang‘ich qiymati 1 ga teng bo‘lib, har gal mahsulot yozilganda i 1 ga ortadi.
Shu orqali mahsulotlar ro‘yxati tartib bo‘yicha chiqariladi.
Agar   mahsulot   turi   noto‘g‘ri   tanlanganda   yoki   dasturdan   qayta   foydalanish
uchun Bekor qilish tugmasi bosilganda quyidagi kodni kiritamiz:
private void Button2_Click(object sender, EventArgs e)
        {
            ListBox1.Items.Clear();
            buyurtma = "";
28          }
Bunda tugma bosilganda royxat elementlari o‘chirib yuboriladi. Shuningdek,
buyurtma o‘zgaruvchisining qiymati ham bo‘shliqqa tenglanadi.
Dastur   yakunida   buyurtmani   yakunlash   uchun   Buyurtma   berish   tugmasi
bosilganda quyidagi kodni kiritamiz:
private void Button3_Click(object sender, EventArgs e)
{
       MessageBox.Show(buyurtma + "\nXaridingiz uchun rahmat !!!");
}
Bunda   tugma   bosilganda   buyurtma   o‘zgaruvchisi   MessageBox   orqali   ekranga
chiqariladi.
29 III.Xulosa
Men   bu   kurs   ishim   davomida   Windows   Forms   da   qanday   qilib   ro‘yxat
yaratish, unga ma’lumotlar qo‘shish va uni tahrirlash haqida yuqori ko‘nikmaga
ega   bo‘ldim.   Windows   Forms   ilovalarini   yaratishda   yuqori   bilim   darajasi
bo‘lishi zarur   deb o‘ylayman.   C# Windows muhitida ishlaydigan dastur tuzish
uchun   qulay   vosita   bo`lib,   kompyuterda   dastur   yaratish   ishlarini
avtomatlashtiradi,   xatoliklarni   kamaytiradi   va   dastur   tuzuvchi   mehnatini
yengillashtiradi.
Axborot texnologiyalariga qiziqqan inson albatta dasturlash tillariga ham
qiziqadi va men dasturlash tillarini tanlashda doimo C# dasturlash tilini tavsiya
qilaman.   Chunki   bu   dasturlash   tili   yuqori   darajadagi   obyektga   yunaltirilgan
dasturlash tili hisoblanib uning imkoniyatlari juda ham katta hisoblanadi.   
Kurs ishini  bajarish jarayonida dasturlash  tillarini  amaliyotga joriy qilish
orqali ko‘plab masalalarni ijobiy hal qilish mumkinligiga ishonch hosil qildim.
Kurs   ishini   tayyorlashda   Microsoft   Visual   Studio  2012   muhitidan   va   C#
dasturlash tilidan foydalandim.
Dasturlash   asoslari   fanini   o‘rganish   jarayonida   Windows   operatsion
tizimida   ishlovchi   dasturlar   tuzish   ko‘nikmasiga   ega   bo‘ldim.   Dasturlar   tuzish
uchun   foydalaniladigan   komponentlar,   ularning   xususiyatlari   va   ishlash
prinsiplari bilan yaqindan tanishdim.
30 IV. Foydalangan adabiyotlar.
1. Герберт   Шилдт .   C #   4.0:   полное   руководство.:   Пер.   с   англ.М.:   ООО
―И.Д. Вильямс, 2011.1056 с. 
2.Джозеф Албахари и Бен Албахари C# 6.0. 
3.Справочник.   Полное   описание   языка,   6-е   изд.:   Пер.   с   англ.   –   М.:   ООО
―И. Д. Вильямс, 2016. – 1040. 
4.Максим  Ткачук – " C # для начинающих. Самоучитель",   BHV -Петербург,
2020
5. Андрей Алексеев – "C# и платформа .NET для начинающих"
6. Andrew Stellman, Jennifer Greene – "Head First C#" ,   O‘Reilly Media, 2021
7.Троелсен   Э.,   Джепикс   Ф.   Язык   программирования   C#   10   и
платформа .NET 6. Диалектика, 2022.
8.   Панферов А. C# 9.0 и .NET 5. ДМК Пресс, 2021
9.   Шилов Е.  Windows   Forms  на  C #. БХВ - Петербург , 2021.
10. Jesse Liberty – "Programming C#" ,  O‘Reilly, 2020
31 Foydalanilgan saytlar
1. http://dastur.uz   C#   tilining   asoslari   va   Windows   Forms   bo‘yicha   kirish
ma’lumotlarini olishda foydalanildi.
2. https://learn.microsoft.com/ru-ru/visualstudio/windows/forms-overview
Windows   Forms   texnologiyasi   va   formalar   bilan   ishlash   bo‘yicha   nazariy
ma’lumotlar, komponentalarning tavsifi uchun ishlatildi.
3. https://learn.microsoft.com/enus/dotnet/api/
system.windows.forms.checkedlistbox   CheckedListBox   komponentasining
rasmiy   hujjatlari,   uning   xossalari,   metodlari   va   hodisalari   haqida   aniq
ma’lumotlar olish uchun foydalanildi.
4. https://stackoverflow.com   CheckedListBox   bilan   bog‘liq   muammolar,   kod
yozishda   duch   kelgan   xatoliklar   va   ularning   yechimlari   uchun   maslahatlar
olindi.
5. https://www.c-sharpcorner.com   Windows   Forms   interfeysi,
komponentalarning   ishlatilishi   va   kod   namunalarini   o‘rganish   uchun   manba
sifatida ishlatildi.
6. https://www.dotnetperls.com/checkedlistbox   Komponentani   dasturga
qanday kiritish va sozlashga oid kodlar uchun ishlatilgan.
7. https://www.tutorialspoint.com/csharp/csharp_windows_forms.htm   C#
tilining   sintaksisi,   GUI   komponentalari   va   Windows   Forms   bilan   ishlash
bo‘yicha asosiy tushunchalarni o‘rganishda foydalanildi.
8. https://www.codeproject.com   CheckedListBox   yordamida   yaratilgan   kichik
loyihalar va interfeys dizayni g‘oyalari uchun foydalanilgan.
9. https://www.geeksforgeeks.org/c-sharp-winforms-overview/   C#   va
Windows Forms bo‘yicha o‘quv maqolalar.
10. https://metanit.com/sharp/windowsforms/   Windows   Forms,
CheckedListBox , boshqa komponentalar va ularning amaliy ishlatilishi bo‘yicha
asosiy manba sifatida foydalanildi
32 V. Ilova.
using  System;
using  System.Collections.Generic;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Linq;
using  System.Text;
using  System.Threading.Tasks;
using  System.Windows.Forms;
namespace  CheckedListBox
{
     public   partial   class   Form1  :  Form
    {
         public  Form1()
        {
            InitializeComponent();
        }
         string  buyurtma =  "" ;
         private   void  radioButton1_CheckedChanged( object  sender,  EventArgs  e)
        {
             string [] birTaom =  new   string [5];
            birTaom[0] =  "Mastava" ;
            birTaom[1] =  "Sho‘rva" ;
            birTaom[2] =  "Karam sho‘rva" ;
            birTaom[3] =  "Chuchvara" ;
            birTaom[4] =  "Tiftel sho‘rva" ;
            checkedListBox1.Items.Clear();
33              foreach  ( string  s  in  birTaom)
            {
                checkedListBox1.Items.Add(s);
            }
        }
         private   void  radioButton2_CheckedChanged( object  sender,  EventArgs  e)
        {
             string [] ikkiTaom =  new   string [5];
            ikkiTaom[0] =  "Osh" ;
            ikkiTaom[1] =  "Qovurma lag‘mon" ;
            ikkiTaom[2] =  "Dimlama" ;
            ikkiTaom[3] =  "Kabob" ;
            ikkiTaom[4] =  "Somsa" ;
            checkedListBox1.Items.Clear();
             foreach  ( string  s  in  ikkiTaom)
            {
                checkedListBox1.Items.Add(s);
            }
        }
         private   void  radioButton3_CheckedChanged( object  sender,  EventArgs  e)
        {
             string [] fastfood =  new   string [5];
            fastfood[0] =  "Hotdog" ;
            fastfood[1] =  "Lavash" ;
            fastfood[2] =  "Gamburger" ;
            fastfood[3] =  "Sandvich" ;
            fastfood[4] =  "Pitsa" ;
            checkedListBox1.Items.Clear();
             foreach  ( string  s  in  fastfood)
            {
34                 checkedListBox1.Items.Add(s);
            }
        }
         private   void  radioButton4_CheckedChanged( object  sender,  EventArgs  e)
        {
             string [] ichimliklar =  new   string [5];
            ichimliklar[0] =  "Ko‘k choy" ;
            ichimliklar[1] =  "Limon choy" ;
            ichimliklar[2] =  "Qora choy" ;
            ichimliklar[3] =  "Qahva" ;
            ichimliklar[4] =  "Gazli ichimlik" ;
            checkedListBox1.Items.Clear();
             foreach  ( string  s  in  ichimliklar)
            {
                checkedListBox1.Items.Add(s);
            }
        }
         private   void  radioButton5_CheckedChanged( object  sender,  EventArgs  e)
        {
             string [] desert =  new   string [5];
            desert[0] =  "Shokoladli tort" ;
            desert[1] =  "Mevali salat" ;
            desert[2] =  "Napoleon torti" ;
            desert[3] =  "Mevali tort" ;
            desert[4] =  "Chizkeyk" ;
            checkedListBox1.Items.Clear();
             foreach  ( string  s  in  desert)
            {
                checkedListBox1.Items.Add(s);
            }
35         }
         private   void  button1_Click( object  sender,  EventArgs  e)
        {
             foreach  ( string  s  in  checkedListBox1.CheckedItems)
            {
                 int  i = 1;
                listBox1.Items.Add(s);
                buyurtma += i +  "."  + s +  "\n" ;
                i++;
            }
        }
         private   void  button2_Click( object  sender,  EventArgs  e)
        {
            listBox1.Items.Clear();
            buyurtma =  "" ;
        }
         private   void  button3_Click( object  sender,  EventArgs  e)
        {
             MessageBox .Show(buyurtma +  "\nXaridingiz uchun rahmat!!!" );
         }
    }
}
36 37 38 39

Algoritmik tillar va dasturlash 

Sotib olish
  • O'xshash dokumentlar

  • Konus kesimlari va ularning fokal xossalari
  • WPFda Application sinfi va boshqaruv elementlari shablonini yaratish
  • UWP(Win Ui) da grafika va multimedialar bilan ishlash
  • Axborot resurs markazi uchun avtomatlashtirilgan tizim kurs ishi
  • Talabalar bilimini baholovchi dastur yaratish

Xaridni tasdiqlang

Ha Yo'q

© Copyright 2019-2025. Created by Foreach.Soft

  • Balansdan chiqarish bo'yicha ko'rsatmalar
  • Biz bilan aloqa
  • Saytdan foydalanish yuriqnomasi
  • Fayl yuklash yuriqnomasi
  • Русский