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 30000UZS
Hajmi 430.5KB
Xaridlar 1
Yuklab olingan sana 05 Mart 2025
Kengaytma docx
Bo'lim Kurs ishlari
Fan Informatika va AT

Sotuvchi

G'ayrat Ziyayev

Ro'yxatga olish sanasi 14 Fevral 2025

80 Sotish

C # dasturlash tilida CheckedListBox komponentasi yordamida dasturlar yaratish

Sotib olish
MUNDARIJA
Kirish ................................................................................................................................................... 2
I. Windows Formsga kirish. C# Windows shakllari .............................................................................. 8
1.1. Windows Formsga kirish .............................................................................................................. 8
1.2. C# Windows shakllari ................................................................................................................... 9
II. C # dasturlash tilida CheckedListBox komponentasi ..................................................................... 17
2.1. ListBox elementi bilan ishlash .................................................................................................... 17
2.2.CheckBox elementi bilan ishlash. ................................................................................................ 20
2.3. CheckedListBox elementi bilan ishlash ...................................................................................... 23
III.Xulosa ........................................................................................................................................... 34
IV. Foydalangan adabiyotlar. ............................................................................................................ 35
V. Ilova. ............................................................................................................................................. 36
Kirish
                                                        Bugungi kunda milliy axborot tizimini shakillantirish jarayonida Internet va boshqa
                                              global axborot tizimlaridan foydalanish,
                                 ayniqsa, muhim ahamiyatga ega.
I.A.Karimov
                  Yangi   axborot   –   kommunikatsion   texnologiyalari   hozirgi   vaqtda   eng
dolzarb   mavzulardan   biri   bo’lib   kelmoqda,   sababi   har   bir   sohani   o’rganish,
izlanish   va   tajriba   orttirish   uchun   turli   usullardan   foydalanish   kerak   bo’ladi.
Shuning uchun yangi axborot – kommunikatsion texnologiyalardan foydalanish
maqsadga muvofiqdir.
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
va   ulardan   foydalanish   borasida   yetarli   malakalarga   ega   bo’lishi,   hamda   yangi
informatsion   texnika   va   texnologiya   asoslarini   uning   ertangi   kuni,   rivoji
to’g’risidagi   bilimlarni   o’zida   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.
2005-   yil   2-iyunda   O’zbеkiston   Rеspublikasi   Prеzidеntining   “Axborot
tеxnologiyalari   sohasida   kadrlar   tayyorlash   tizimini   takomillashtirish
to’g’risida”gi qarori qabul qilindi. Bu qarorlarning davomi sifatida O’zbekiston
Respublikasi   “Axborot   erkinligi   prinsiplari   va   kafolatlari   to’g’risida”   qonuni
2012-yil   12-dekabrda   qabul   qilindi.   Ushbu   qonun  16   moddadan  tashkil   topgan
bo’lib, unda ushbu qonunning asosiy vazifalari, axborot  erkinligi  prinsiplari  va
kafolatlari  to'g'risidagi  qonun hujjatlari, axborot  erkinligining asosiy  prinsiplari
axborotning   ochiqligi   va   oshkoraligi,   axborotni   olish   tartibi,   shaxsning,
3 jamiyatning,   davlatning   axborot   borasidagi   xavfsizligi,   shu   kabi   bir   qator
moddalarni o`z ichiga olgan. Xalqning boy intellektual merosi va umumbashariy
qadriyatlar   asosida,   zamonaviy   madaniyat,   iqtisodiyot,   fan,   texnika   va
texnologiyalarning yutuqlari asosida kadrlar tayyorlashning mukammal tizimini
shakllantirish O’zbekiston taraqqiyotining muhim shartidir. 
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 asosiy maqsadi: 
C# dasturlash tili obyektga mo’ljallangan dasturlash tili hisoblanadi. Juda
ko’p   murakkab   masalalarni   hal   qilishda   albatta   bu   dasturlash   tilidan
foydalanishga to’g’ri keladi. Ushbu ishda C# dasturlash tilida “CheckedListBox
komponentasi” dasturini tuzish bo`yicha barcha amallar ketma-ketligi keltirilgan
va   bu   orqali   talabalar   C#   dasturlash   tilida   “CheckedListBox   komponentasi”
dasturini tuzishni mustaqil o`rganishi hamda ko`nikmalarga ega bo`lishi ko`zda
tutilgan. “CheckedListBox komponentasi” dasturini tuzishda ishimizning asosiy
ob`ektlari   quydagilardir:Microsoft   Visual   Studio,   C#   dasturlash   tili   va
zamonaviy kompyuter.
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,   …
betda bayon qilingan.
C#   -   bu   professional   dasturlash   tili.   C#   (C   sharp   deb   talaffuz   qilinadi)   -
bu   .NET   Framework   da   ishlaydigan   keng   doiradagi   korporativ   ilovalarni
4 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++
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   Environmentda   C#   loyihalarini   ishlab   chiqishimiz
5 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
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.
        Kurs   ishining   tarkibi:   Kurs   ishiga   kirish,   5ta   paragraph   ,   xulosa,
foydalanilgan adabiyotlar ro’yxati va ilovadan iborat.  
6 7 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 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   Studio'da   yangi   forma   yaratish
ko'rsatilgan.
8 Yangi loyiha muloqot oynasidan Windows Forms ilovasini tanlang.
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.
9                 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
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
10 osonlik kabi xususiyatlari tezda ko plab tarafdorlarini topdi. Bugungi kunda bizʻ
mazkur   sifatlarni   o z   o zidan   anglashiladigan   deb   hisoblaymiz,   lekin   S   da	
ʻ ʻ
birinchi   marotaba   dastur   tuzuvchiga   zarur   bo lgan   ajoyib   yangi   imkoniyatlar	
ʻ
mujassamlashtirilgan. Natijada 1980 yillardan boshlab S 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,   foydalanilgan
instrumentlarga   bog liq   bo ladi,   lekin   taxminan   5000   satr   kodlari   nazarda	
ʻ ʻ
tutilayapti)   S-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
ishlatishgao’rganishgan.  
C# da dasturlashning asosiy qismi:  
11 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.
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.
12 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 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 
13 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
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.
14 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.
15 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.
16 II.  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.
17 Elementlarni qo’shish
Shunday   qilib,   ro'yxatning   barcha   elementlari   Itemsto'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);
18 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;
       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.
19 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.
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.
20             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.
 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.
21  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   .
 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.
22  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   .
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:
23 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   truebiz   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:
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
24 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.   Foydalanuvchi   bir   yoki   bir   nechta
element   tomonidan   tasdiq   belgisini   qo'yishi   mumkin   va   belgilangan
25 elementlarni     CheckedListBox.CheckedItem   Collection
va   CheckedListBox.CheckedIndexCollection bilan navigatsiya qilish mumkin .
Ishlash   vaqtida   ro'yxatga   ob'ektlarni   qo'shish   uchun   AddRange   usuli
yordamida   ob'ektga havolalar qatorini tayinlanadi  .   Keyin ro'yxat  har bir ob'ekt
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,   UseCustomTabOffsets   ni
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.
26  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 .
      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   CheckedListBox-dagi   barcha   elementlarni   belgilab   qo'ymoqchi
bo'lsangiz,   SetItemChecked   usuli qiymatini true ga o'zgartiring.
Belgilangan ro'yxatdagi barcha elementlarni belgilang
Agar   siz   CheckedListBox-dagi   barcha   elementlarni   belgilanmagan   qilib
qo'ymoqchi   bo'lsangiz,   SetItemChecked   usuli   qiymatini   noto'g'ri   qilib
o'zgartiring.
27 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.
                              
 Bu yerda:
 RadioButton – mahsulot turlari
28  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.
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.
29 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
30 chiqaramiz. Buning uchun foreach sikl operatoridan foydalanamiz. foreach sikl
operatori   massiv   tarkibidagi   har   bir   elementni   ajratib   beradi.   Add()   metodidan
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)
        {
31             foreach (string s in CheckedListBox1.CheckedItems)
            {
                ListBox.Items.Add(s);
                buyurtma += i + ". " + s + "\n";
                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
32 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 = "";
         }
      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)
{
33        MessageBox.Show(buyurtma + "\nXaridingiz uchun rahmat !!!");
}
Bunda   tugma   bosilganda   buyurtma   o’zgaruvchisi   MessageBox   orqali   ekranga
chiqariladi.
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.
34        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.
IV. Foydalangan adabiyotlar.
1.   Герберт   Шилдт .   C #   4.0:   полное   руководство.:   Пер.   с   англ.М.:   ООО
―И.Д. Вильямс, 2011.1056 с. 
2. Джозеф Албахари и Бен Албахари C# 6.0. 
3.   Справочник.   Полное   описание   языка,   6-е   изд.:   Пер.   с   англ.   –   М.:
ООО ―И. Д. Вильямс, 2016. – 1040. 
4. http://dastur.uz-Kompyuter dasrurlari va kompyuterda dasturlashga oid
forum,xabar va yangiliklar. 
5. Metanit.com sayiti va You Tube platformasi.
35 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()
        {
36             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();
             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)
            {
37                 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)
            {
                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();
38              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);
            }
        }
         private   void  button1_Click( object  sender,  EventArgs  e)
        {
             foreach  ( string  s  in  checkedListBox1.CheckedItems)
            {
                 int  i = 1;
                listBox1.Items.Add(s);
39                 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!!!" );
         }
    }
}
40 41 42 43 44

C # dasturlash tilida CheckedListBox komponentasi yordamida dasturlar yaratish

Sotib olish
  • O'xshash dokumentlar

  • Access dasturi yordamida “dorixona” ma‘lumotlar bazasini yaratish
  • Agile va Scrum metodologiyalari dasturiy ta'minot ishlab chiqish
  • Tashkilot miqyosida masofadan muloqot qilish.
  • Talabalar haqida ma'lumot saqlovchi tizim
  • HTML tili, uning asosiy elementlari. Jadval va rasm hosil qilish. Gipermatn va freymlar joylashtirish

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
  • Русский