Добавил:
bekan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:2-semestr / 12-ameliy_jif
.pdf
12-ámeliy jumıs. Komponentalar menen islew. Tarmaqlanıw hám
tańlaw ushın arnalǵan komponentalar.
Jumıstıń maqseti: Windows Forms qosımshalarında paydalanıwshıǵa
tańlaw imkaniyatın beretuǵın komponentalar (`CheckBox`, `RadioButton`,
`ComboBox`, `ListBox`, `CheckedListBox`) menen islesiwdi úyreniw. "Birin
tańlaw" (Single Selection) hám "Kópti tańlaw" (Multiple Selection) logikasın
ámeliyatta qollanıw. Interaktiv sorawnama (anketa) hám testlew sistemaların
jaratıw kónlikpelerin qáliplestiriw.
Teoriyalıq bólim:
Paydalanıwshı interfeysinde (UI) tańlaw komponentaları eń kóp
qollanılatuǵın elementler bolıp tabıladı. Olar eki úlken toparǵa bólinedi:
1. Tarmaqlanıw (Binary/Group Choice):
`CheckBox` (Belgilew qutısı): "Awa" yamasa "Yaq" (True/False)
jaǵdayın ańlatadı. Olar bir-birine ǵárezsiz, yaǵnıy bir neshe
`CheckBox` tı bir waqıtta tańlawǵa boladı. `Checked` qásiyeti
arqalı basqarıladı. `ThreeState` qásiyeti `true` bolsa, "Belgisiz"
(Indeterminate) jaǵdayına da iye bola aladı.
`RadioButton` (Radio túymesi): Bir topar variantlardan tek birewin
ǵana tańlaw ushın qollanıladı. Bir `GroupBox` (yamasa `Panel`)
ishinde jaylasqan `RadioButton` lardan tek birewi `Checked = true`
bolıwı múmkin. Birewi tańlansa, basqaları avtomat óshiriliedi.
2. Dizimli tańlaw (List Choice):
`ComboBox`: Jıǵılıwshı dizim. Az orın iyeleydi, tek bir varianttı
tańlawǵa imkaniyat beredi (eger `DropDownStyle` `Simple`
bolmasa).
`ListBox`: Ashıq dizim. `SelectionMode` qásiyeti arqalı `One`
(birew), `MultiSimple` (kóp) yamasa `MultiExtended` (Shift/Ctrl
menen) tańlaw rejimlerine ótiwge boladı.
`CheckedListBox`: `ListBox` penen `CheckBox` tıń birigiwi.
Hárbir elementtiń qasında belgilew qutısı boladı. Bul "Dizimnen
kóp nárse tańlaw"dıń eń qolaylı usılı.
Qollanılıw jaǵdayları:
`RadioButton`: Jınısı (Er/Hayal), To'lem túri (Naq/Karta).
`CheckBox`: "Shártlerge kelisemen", "Paroldi kórsetiw",
Qızıǵıwshılıqlar (Sport, Muzıka).

`ComboBox`: Mámleket, Jıl, Ay (Variantlar kóp bolsa).
`ListBox`/`CheckedListBox`: Oqıw pánlerin tańlaw, Doslar dizimi.
ÁMELIY BÓLIM:
"Picca Buyırtpa Beriw" sistemasın jaratamız.
1-mısal: Ólshemdi tańlaw (RadioButton)
Picca ólshemi (Kishi, Orta, Úlken) ushın `GroupBox` ishine 3 `RadioButton`
qoyamız.
Kod:
int baha = 0;
if (radioSmall->Checked) baha = 30000;
else if (radioMedium->Checked) baha = 50000;
else if (radioLarge->Checked) baha = 70000;
Túsindirme: `Checked` qásiyeti arqalı qaysı ólshem tańlanǵanın bildik.
2-mısal: Qosımchalar (CheckBox)
Qosımchalar (Sır, Kolbasa, Balıq) ushın `CheckBox` lar qoyamız.
Kod:
if (checkCheese->Checked) baha += 5000;
if (checkSausage->Checked) baha += 10000;
if (checkFish->Checked) baha += 15000;
Túsindirme: Bul jerde hárbir qosımsha ǵárezsiz. Paydalanıwshı hámmesin
tańlawı múmkin, sol sebepli `if-else` emes, bólek `if` ler qollanıldı.
3-mısal: Souslar (ComboBox)
Sous túrin (Ketchup, Mayonez, Chili) `ComboBox` tan tańlaymız.
Kod:

String^ sous = comboBoxSauce->SelectedItem->ToString();
if (sous == "Chili") baha += 2000;
Túsindirme: `SelectedItem` arqalı tańlanǵan tekstti aldıq.
4-mısal: Kóp tańlaw (CheckedListBox)
Qosımsha palız ónimlerin `CheckedListBox` tan tańlaw.
Kod:
for (int i = 0; i < checkedListBox1->CheckedItems->Count; i++) {
String^ item = checkedListBox1->CheckedItems[i]->ToString();
// Hárbir tańlanǵan palız ónimi ushın 3000 qosıw
baha += 3000;
}
Túsindirme: `CheckedItems` kollekciyası tek belgilengen (basıp tańlanǵan)
elementlerdi saqlaydı. Cikl arqalı olardı sanap shıqtıq.
ÁMELIY TAPSÍRMALAR
1. 3 `RadioButton` (Reńler). Tańlanǵanda formanıń reńi ózgersin.
2. `CheckBox` "Kúndizgi/Túngi rejim". Fon qara/aq bolsın.
3. `ComboBox` tan "Jıl" tańlań. `Label` ǵa "Siz ... jılı tuwılǵansız" dep
shıǵarıń.
4. `ListBox` qa `TextBox` tan element qosıwshı programma.
5. `CheckedListBox` tańlanǵan elementlerdi `ListBox` qa kóshiriń.
6. `RadioButton` arqalı `Button` nıń `Visible` qásiyetin basqarıń.
7. `CheckBox` "Hámmege" (Select All) basılǵanda, basqa 3 `CheckBox`
avtomat tańlansın.
8. `ComboBox` tan elementti óshiriw (`Items->Remove`).
9. "Test": 5 soraw. Juwaplar `RadioButton`. Durıs juwaplar sanın esaplań.
10. `ListBox` ta `MultiExtended` rejiminde bir neshe elementti óshiriń.
11. `ComboBox` ta tańlanǵan mámleketke qaray, ekinshi `ComboBox` ta
(Qalalar) sáykes qalalar shıqsın (Kaskadlı tańlaw).
12. "Magazin": Tovar túri (`ComboBox`), Sani (`NumericUpDown`),
Jetkiziw (`RadioButton`). Ulıwma summanı esaplań.

13. `CheckedListBox` ta tańlanǵan elementlerdiń sanın real waqıtta
(`ItemCheck` waqıyası) kórsetiń.
14. `RadioButton` lardı kod arqalı (dinamikalıq) jaratıp, formaǵa qosıń.
15. `ComboBox` tı `DropDownList` etip, biraq "Basqa" tańlansa, `TextBox`
ashılıp, jańa variant qosıw múmkinshiligin beriń.
Соседние файлы в папке 2-semestr
