A14. Dialoglar bilan ishlash


Download 0.65 Mb.
Pdf ko'rish
Sana22.01.2023
Hajmi0.65 Mb.
#1108322
Bog'liq
14-amaliy



A14. Dialoglar bilan ishlash 
Loyihaga yana bitta forma qoʻshish uchun Solution Explorer 
oynasida loyiha nomi ustida sichqonchaning oʻng tugmasini bosamiz va hosil 
boʻlgan kontekst menyudan Add (Qoʻshish) -> Windows Form... ni 
tanlaymiz.
Yangi formaga nom beramiz, masalan, Form2.cs: 


Shunday qilib, bizda ikkinchi forma qoʻshildi. Endi ikkala formaning oʻzaro 
aloqasini ta’minlaymiz. Aytaylik, birinchi formada tugmachaning bosilishi 
ikkinchi formani yuklasin. Form1 ga tugmacha joylab, uning ustida sizqonchaning 
chap tugmasini ikki marta bosish orqali kod fayliga oʻtamiz: 
private void button1_Click (object sender, EventArgs e) 


Bu yerda ikkinchi formaga murojaat kodini kiritamiz. Ikkinchi forma 
Form2
deb nomlangan, shu sababli ushbu sinf ob’yektini yaratamiz, soʻngra uni 
ekranda aks etishi uchun Show metodiga murojaat qilamiz: 
private void button1_Click (object sender, EventArgs e) 

Form2 newForm = new Form2(); 
newForm.Show(); 

Endi aksincha – ikkinchi formadan birinchi formaga oʻtish kodini yozamiz. 
Hozircha ikkinchi forma birinchi formaning mavjudligini bilmaydi. Buni tuzatish 


uchun ikkinchi formaga birinchi forma haqida ma’lumot kiritishimiz kerak. Buning 
uchun konstruktorda formaga havolani uzatishdan foydalanamiz. 
Ikkinchi forma ustida sichqonchaning oʻng tugmasini bosib kontekst 
menyudan View Code (Kodni koʻrish) komandasini tanlaymiz. Hozircha unda 
faqat konstruktor joylashgan. C# metodlarning qayta yuklanishini qoʻllab 
quvvatlaydi, shu sababli unda bir nechta metod va konstruktorlarni holatga qarab 
murojaatga bogʻliq ravishda turlicha parametrlar bilan yaratish mumkin:
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 HelloApp 

public partial class Form2 : Form 

public Form2() 

InitializeComponent(); 

public Form2(Form1 f) 

InitializeComponent(); 
f.BackColor = Color.Yellow; 





Bu yerda yangi konstruktor public Form2(Form1 f) qoʻshilgan, unda 
birinchi forma olinib, fon rangi sariq rangga oʻzgartirilgan. Endi birnchi forma 
kodiga oʻtamiz, ikkinchi forma chaqirilgan joyda quyidagi oʻzgarishlarni kiritamiz: 
private void button1_Click (object sender, EventArgs e) 

Form2 newForm = new Form2(this); 
newForm.Show(); 

Mazkur holatda this kalit soʻzi joriy ob’yekt – Form1 ob’yektiga havola 
vazifasini ifodalaydi, ikkinchi forma ekranga koʻrsatilganida ushbu havola olinib, u 
orqali birinchi forma boshqariladi.
Endi ilova ishga tushirilib, birinchi formadagi tugmacha bosilganida ikkinchi 
oyna ham ekranga yuklanadi va yuklanish jarayonida birinchi forma fon rangini 
ham oʻzgartiradi.
Shuningdek, ob’yektlar va joriy formalarni ham yaratish mumkin: 
private void button1_Click(object sender, EventArgs 
e) 

Form1 newForm1 = new Form1(); 
newForm1.Show(); 
Form2 newForm2 = new Form2(newForm1); 
newForm2.Show(); 

Bir nechta oyna bilan ishlash jarayonida shuni ham hisobga olish kerakki, 
ulardan biri asosiy hisoblanadi – ya’ni, Program.cs faylida birinchi ishga 
tushiriladi. Agar bir qancha formalar ishga tushirilgan boʻlsa, asosiy forma 
yopilganida u bilan birga qolganlari ham yopiladi.



Download 0.65 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling