A14. Dialoglar bilan ishlash
Download 0.65 Mb. Pdf ko'rish
|
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
ma'muriyatiga murojaat qiling