Добавил:
bekan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:2-semestr / 9-ameliy_jif
.pdf
9-ámeliy jumıs. Komponentalar menen islew. Komponenta túsinigi
hám qásiyetleri, ListBox, ComboBox, ImageList, LinkLabel, GroupBox,
Panel.
Jumıstıń maqseti: C++ (Windows Forms) tilinde grafikalıq
paydalanıwshı interfeysi (GUI) menen islewdi úyreniw. Dizimler (`ListBox`,
`ComboBox`) menen islew, súwretlerdi basqarıw (`ImageList`), siltemeler
jaratıw (`LinkLabel`) hám komponentalardı toparlaw (`GroupBox`, `Panel`)
kónlikpelerin qáliplestiriw. Paydalanıwshıǵa qolaylı hám strukturalanǵan
interfeys jaratıw usılların ózlestiriw.
Teoriyalıq bólim:
Windows Forms – bul Microsoft .NET Framework tiykarında grafikalıq
qosımshalar (GUI) jaratıw ushın arnalǵan kitapxana. Bul texnologiya
"Waqıyaǵa tiykarlanǵan" (Event-Driven) programmalastırıw modelin qollanadı.
Paydalanıwshı interfeysi "Komponentalar" (Controls) dep atalatuǵın tayın
bloklardan quraladı.
ListBox (Dizim qutısı)
`ListBox` komponenti paydalanıwshıǵa tekstli elementler dizimin
kórsetiw hám olardıń ishinen bir yamasa bir neshewin tańlaw imkaniyatın
beredi. `ListBox` turaqlı túrde ashıq turadı, yaǵnıy paydalanıwshı bir waqıtta bir
neshe elementti kóre aladı.
Tiykarǵı qásiyetleri:
`Items`: Dizimdegi elementler kollekciyası. Oǵan `Add()`,
`Remove()`, `Clear()` metodları arqalı elementler qosıwǵa yamasa
óshiriwge boladı.
`SelectedIndex`: Házirgi waqıtta tańlanǵan elementtiń indeksi (0
den baslanadı). Eger hesh nárse tańlanbasa, mánisi -1 boladı.
`SelectedItem`: Tańlanǵan elementtiń ózi (obyekt retinde). Onıń
tekstin alıw ushın `ToString()` metodı qollanıladı.
`SelectionMode`: Tańlaw rejimini. `One` (tek birew),
`MultiSimple` (Ctrl túymesiz kóp tańlaw), `MultiExtended` (Ctrl
hám Shift penen kóp tańlaw).
`Sorted`: `true` bolsa, elementler avtomat túrde alfavit boyınsha
sortlanadı.
ComboBox (Qurama qutı)

`ComboBox` – bul `TextBox` hám `ListBox` komponentleriniń
kombinaciyası. Ol az orın iyeleydi, sebebi dizim tek paydalanıwshı túymeni
basqanda ǵana ashıladı (Drop-down).
Tiykarǵı qásiyetleri:
`DropDownStyle`: Komponenttiń kórinisi. `Simple` (dizim hámme
waqıt ashıq), `DropDown` (tekst maydanına jazıw múmkin),
`DropDownList` (tek dizimnen tańlaw múmkin, jazıw múmkin
emes).
`Items`, `SelectedIndex`, `SelectedItem`: `ListBox` penen birdey
wazıypanı atqaradı.
ImageList (Súwretler dizimi)
`ImageList` – bul paydalanıwshı interfeysinde kórinetuǵın komponent
emes (Non-visual component). Ol basqa komponentler (mısalı, `ListView`,
`TreeView`, `Button`, `TabControl`) ushın kerekli bolǵan súwretlerdiń (Icon,
Bitmap) kollekciyasın saqlaydı.
Tiykarǵı qásiyetleri:
`Images`: Súwretler dizimi. Súwretlerdi qosqanda olarǵa indeks
beriledi (0, 1, 2...).
`ImageSize`: Barlıq súwretlerdiń ólshemi (mısalı, 16x16 yamasa
32x32).
Basqa komponentlerde qollanıw: `Button` nıń `ImageList` qásiyetine
`imageList1` di kórsetip, `ImageIndex` qásiyetine kerekli súwrettiń indeksin
jazıw kerek.
LinkLabel (Silteme jazıwı)
`LinkLabel` – bul ápiwayı `Label` ǵa uqsas, biraq ol giper-silteme
(Hyperlink) retinde isleydi. Paydalanıwshı oǵan basqanda veb-saytqa ótiwi
yamasa basqa formanı ashıwı múmkin.
Tiykarǵı qásiyetleri:
`LinkColor`: Siltemeniń reńi (ádette kók).
`ActiveLinkColor`: Basılıp atırǵandaǵı reńi.
`VisitedLinkColor`: Basılıp bolǵannan keyingi reńi.
`LinkClicked` waqıyası: Silteme basılǵanda orınlanatuǵın kod. Bul
jerde `System::Diagnostics::Process::Start("url")` metodı
qollanıladı.
GroupBox hám Panel (Konteynerler)

Bul komponentler basqa komponentlerdi (Button, CheckBox) óz ishine
alıw hám olardı toparlaw ushın xızmet etedi.
`GroupBox`:
Komponentlerdiń átirapına ramka (Border) sızadı hám oǵan atama
(`Text`) qoyıwǵa boladı.
Tiykarınan `RadioButton` lardı logikalıq toparlaw ushın qollanıladı.
Bir `GroupBox` ishindegi `RadioButton` lardan tek birewi
tańlanadı.
`Panel`:
Ramkasız (yamasa ápiwayı ramkalı) konteyner.
`AutoScroll` qásiyeti `true` bolsa, eger ishindegi komponentler
sıymasa, aylanıw jolaǵın (Scrollbar) kórsetedi.
Komponentlerdi jasırıw/kórsetiw (`Visible`) yamasa
aktivlestiriw/deaktivlestiriw (`Enabled`) ushın qolaylı. Paneldi
jasırsańız, ishindegi hámmesi jasırıladı.
ÁMELIY BÓLIM:
"Student Anketa" formasın jaratamız.
1-mısal: ListBox hám ComboBox
Kod (Form_Load):
private: System::Void MyForm_Load(System::Object^ sender,
System::EventArgs^ e) {
// ListBox-qa element qosıw
listBox1->Items->Add("Matematika");
listBox1->Items->Add("Fizika");
listBox1->Items->Add("Informatika");
// ComboBox-qa element qosıw
comboBox1->Items->Add("Nukus");
comboBox1->Items->Add("Tashkent");
comboBox1->Items->Add("Samarqand");

comboBox1->SelectedIndex = 0; // Birinshisin tańlaw
}
Kod (Button_Click):
private: System::Void button1_Click(System::Object^ sender,
System::EventArgs^ e) {
String^ pan = "";
if (listBox1->SelectedIndex != -1) {
pan = listBox1->SelectedItem->ToString();
}
String^ qala = comboBox1->SelectedItem->ToString();
MessageBox::Show("Pán: " + pan + ", Qala: " + qala);
}
Túsindirme: `Items->Add()` metodı arqalı dizimlerge maǵlıwmat qostıq.
`SelectedIndex` tańlanǵan elementtiń nomerin bildiredi (0 den baslap). Eger `-1`
bolsa, hesh nárse tańlanbaǵan. `SelectedItem->ToString()` tańlanǵan elementtiń
tekstin aladı.
2-mısal: GroupBox hám Panel
`groupBox1` ishine jınısın tańlawshı `RadioButton` lardı salamız. `panel1`
ishine qosımsha maǵlıwmatlardı salamız.
Kod (Logika):
private: System::Void checkBoxInfo_CheckedChanged(...) {
// CheckBox tańlansa, panel kórinedi
panel1->Visible = checkBoxInfo->Checked;
}
Túsindirme: `GroupBox` ishinde `RadioButton` lar avtomat túrde bir topar
boladı (tek birewi tańlanadı). `Panel` di jasırıw (`Visible=false`) arqalı onıń
ishindegi barlıq komponentlerdi bir waqıtta jasırıwǵa boladı.
3-mısal: LinkLabel (Silteme)
Kod (LinkClicked):

private: System::Void linkLabel1_LinkClicked(...) {
System::Diagnostics::Process::Start("https://google.com");
}
Túsindirme: `Process::Start` funkciyası brauzerdi ashıp, kórsetilgen saytqa ótedi.
4-mısal: ImageList
Formaǵa `imageList1` qosamız hám oǵan súwretler júkleymiz. Keyin `Button`
ǵa súwret qoyamız.
Kod:
button1->ImageList = imageList1;
button1->ImageIndex = 0; // 0-súwret
Túsindirme: `ImageList` súwretlerdi bir jerde saqlaydı. Basqa komponentler
(`Button`, `ListView`) onnan indeks arqalı súwret aladı.
ÁMELIY TAPSÍRMALAR
1. `ListBox` qa 5 miywe atın qosıń. Tańlanǵanın `Label` ǵa shıǵarıń.
2. `ComboBox` tan reń tańlań ("Qızıl", "Jasıl"). Formanıń `BackColor`
qásiyeti ózgersin.
3. `ListBox` taǵı elementti "Óshiriw" túymesi arqalı óshiriń (`Items-
>Remove`).
4. `TextBox` qa jazılǵan sózdi "Qosıw" túymesi arqalı `ListBox` qa qosıń.
5. `LinkLabel` basılǵanda `MessageBox` shıqsın.
6. `Panel` ishine 3 `Button` qoyıń. Paneldi jasırıw/kórsetiw túymesin dúziń.
7. `GroupBox` ishine 2 `RadioButton` ("Student", "Oqıtıwshı") qoyıń.
Nátiyjeni kórsetiń.
8. `ComboBox` tıń `DropDownStyle` qásiyetin `DropDownList` qılıń (tek
tańlaw, jazıw múmkin emes).
9. Eki `ListBox` qoyıń. Túymeler arqalı elementti birinen ekinshisine
ótkeriń (`>`,`<`).
10. `ImageList` ten súwretlerdi gezek penen `PictureBox` ta kórsetiń ("Next"
túymesi).
11. `ListBox` tıń `SelectionMode` qásiyetin `MultiSimple` etiń. Tańlanǵan
barlıq elementlerdi shıǵarıń.
12. `ComboBox` ta "Basqa..." degen variant tańlansa, `TextBox` kórinsin.

13. `Panel` diń `AutoScroll` qásiyetin qollanıp, kóp elementli forma dúziń.
14. "Test": `GroupBox` lar ishinde sorawlar hám `RadioButton` juwaplar.
"Tekseriw" túymesi ball esaplasın.
15. `ListBox` tı tazalaw (`Items->Clear`) hám sanın (`Items->Count`)
kórsetiw.
Соседние файлы в папке 2-semestr
