Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2-semestr / 9-ameliy_jif

.pdf
Скачиваний:
0
Добавлен:
20.09.2026
Размер:
276 Кб
Скачать
☆
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
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