Amaliy atd ki att ax 3


Download 445.2 Kb.
Pdf ko'rish
Sana17.06.2023
Hajmi445.2 Kb.
#1540508
Bog'liq
A13-15



A13-A15. Menyu elementlari, Dialoglar va bir nechta formalar 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 445.2 Kb.

Do'stlaringiz bilan baham:




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