Formalar yordamida ilova yaratish


Download 2.33 Mb.
bet1/2
Sana27.10.2023
Hajmi2.33 Mb.
#1726496
  1   2
Bog'liq
1-Amaliy mashgulot

1-Amali mashg‘ulot: Formalar yordamida ilova yaratish. Boshqaruv elementlari bilan ishlash. Berilganlar elementlari bilan ishlash. Menyu elementlari bilan ishlash. Dialoglar bilan ishlash. Bir nechta formalar bilan ishlash

Formalar yordamida ilova yaratish


Grafik loyihani yaratish uchun Visual Studio ishlab chiqish muhiti talab qilinadi. Bugungi kunda Visual Studio muhitning eng keng tarqalgan talqini boʻlganligi uchun uning tekin tarqatiluvchi Visual Studio Community talqinini quyidagi sahifadan olish mumkin:
https://visualstudio.microsoft.com/downloads

Grafik ilovaning loyihasini yaratish uchun Visual Studio muhitini ishga tushiramiz va menyudan File (Fayl) punktini tanlaymiz. Ochilgan menyu ostida New->Project (Yaratish->Loyiha) buyrugini tanlaymiz, Natijada ekranda yangi loyiha yaratish muloqot oynasi ochiladi:

Oynaning chap ustunida Windows Desktop satrini tanlaymiz, Muhitning oʻrta qismida lohiyalar tipida - Windows Forms Application tipini tanlaymiz. Oynaning quyi qismida unga qandaydir nom beramiz. Masalan, HelloApp deb nomlaymiz va OK tugmasini bosamiz.
Soʻngra Visual Studio muhiti yaratilgan loyihani koʻrsatilmagandagi (по умолчанию) fayllar bilan ochadi:

Visual Studio muhitining katta qismni, boʻlajak ilovaning formasini olgan, grafik dizayner band qiladi. U hozircha boʻsh va Forml sarlavhasiga ega. Muhitning oʻng tomonida yechim/loyiha fayllari oynasi - Solution Explorer (Yechimlar sharhlovchisi) joylashgan. Shu yerda yaratilayotgan ilova bilan bogʻliq boʻlgan fayllar, shu bilan birga Forml.cs formaning fayllari joylashgan.
Pastki oʻng burchakda Properties – xossalar oynasi joylashgan. Joriy holatda forma boshqaruv elementi sifatida tanlangan, shu sababli, xossalar oynasida forma bilan bogʻliq xususiyatlar aks etgan:

Endi mazkur oynada formaning Text xususiyatini topamiz va uning qiymatini ixtiyoriy boshqa matnga oʻzgartiramiz.
Shunday qilib, biz forma sarlavhasini oʻzgartirdik. Endi formaga biror-bir boshqaruv elementini, masalan, tugmachani joylashtiramiz. Buning uchun Visual Studioning chap qismidagi Toolbox (komponentalar palitrasi) dan sichqoncha yordamida Button elementini tanlab, formaga joylashtiramiz:


Bu ilova-dasturining visual qismi hisoblanadi. Endi dasturning oʻziga oʻtaylik. Tugmacha bosilganida xabar chiqaradigan C# tilidagi sodda kod yozamiz. Buning uchun biz forma bilan bogʻliq kod fayliga oʻtishimiz kerak boʻladi. Agar kod fayli ochiq boʻlmasa, formada sichqonchaning oʻng tugmasini bosamiz va hosil boʻlgan menyudan View Code (kod faylini koʻrish) buyrugʻini tanlaymiz (yoki klaviaturadan F7 tugmasini bosamiz):

Yoki kodlar oynasiga oʻtish uchun boshqa usuldan ham foydalanish mumkin. Masalan, button1 komponentasi ustida sichqonchaning chap tugmasini ikki marta bosish orqali uning Click hodisasini yozish uchu Form1.cs kod fayliga avtomatik ravishda oʻtish ham mumkin:

Tugmacha bosilganida xabar chiqaruvchi kod yozamiz:

Ilovani ishga tushirish


Ilovani ishga tushirish uchun F5 tugmasini yoki Visual Studio panelidan yashil strelka ni bosamiz. Shunda bitta tugmacha joylashgan bizning forma ishga tushadi. Agar formadagi shu tugmacha bosilsa, “Salom” yozuvi aks etgan xabar oynasi paydo boʻladi:

Ilova ishga tushirilganida Studio uni .exe kengaytmali faylga kompiliaytsiya qiladi. Mazkur faylni loyiha papkasiga kirib, undagi bin/Debug yoki bin/Release katalogidan topish mumkin. Grafik ilova loyihalarini yaratish boʻyicha qisqacha ma’lumotlardan soʻng biz asosiy komponentalar sharhiga oʻtishimiz mumkin va formadan boshlaymiz.
Formalar bilan ishlash
Yaratilgan ilovaning tashqi koʻrinishi juda muhim. Formalar ilova qurishning asosiy bloklari hisoblanadi. Ular turli boshqaruv elementlari uchun konteyner vazifasini bajaradi. Hodisalar mexanizmi formaning foydalanuvchi kiritishlariga javob berish orqali foydalanuvchi bilan aloqa imkonini yaratadi.
Loyiha Visual Studioda ochilganida grafik redaktorda formaning vizual qismini koʻramiz, ya’ni ilova ishga tushurilgandan keyin koʻrinadigan va boshqaruv elementidan elementlarni koʻchiradigan qism. Aslida forma metodlar, xossalar, hodisalar va boshqalardan tashkil topgan kuchli funksionalni oʻziga oladi.
Agar ilova ishga ishga tushurilsa, bitta boʻsh forma tasvirlanadi.

Ammo, bunday boʻsh forma ham bir nechta komponentlarga ega:

Biz faqat formani koʻrsakda, grafik ilovaga kirish nuqtasi Program.cs faylida joylashgan Program sinfi hisoblanadi:

Dastlab dasturda mazkur sinf ishga tushadi, soʻngra Application.Run (new Form1()) ifodasi yordamida u Form1 formasini ishga tushiradi. Agar biz ilovada boshqa biror formani birinchi ishga tushirmoqchi boʻlsak, bu ifodadagi Form1 ni tegishli forma sinfiga oʻzgartirishimiz kerak boʻladi.


Formaning oʻzi tarkibiga koʻra murakkab tuzilishga ega. U qator komponentalarga boʻlinadi. Loyiha strukturasida Form1.Designer.cs fayli mavjud, u taxminan quyidagi koʻrinishga ega:

Bu yerda Form1 qism sinfi e’lon qilingan, u ikkita metodga ega: ob’yekt destruktori rolini bajaruvchi – Dispose() va formaning boshlangʻich xossalarini oʻrnatuvchi – InitializeComponent().
Boshqaruv elementlari, masalan tugmachalar (Button) qoʻshilganida, ularning tavsifi ham ushbu faylga qoʻshiladi.
Lekin amaliyotda ushbu sinflarga juda kam duch kelamiz, chunki ular asosan dizaynerlik funksiyasini – ob’yektlar xossasini oʻrnatish, oʻzgaruvchilarni oʻrnatish kabi funksiyalarni bajaradi.
Yana bir fayl – Form1.resx – forma resurlarini oʻzida saqlaydi. Resurslar odatda bir xil shakldagi formalarni bir yoʻla bir necha tillarda yaratish uhun qoʻllaniladi.
Muhimroq fayllardan biri, loyiha strukturasida sodda qilib Form1 deb ataluvchi – Form1.cs – kod yoki formaning dasturiy mantigʻidan tarkib topadi:

Dastlab bu yerda Form1.Designer.cs dizayner faylida e’lon qilingan InitializeComponent() metodga murojaat qilinadigan faqat forma konstruktori joylashgan boʻladi. Aynan shu fayl (Form1.cs) bilan biz koʻproq ishlaymiz.


Form1.cs kod fayli:
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 Masalalar


{
public partial class Form1 : Form
{
double x, y, c;
public Form1()
{
InitializeComponent();
}

private void textBox1_TextChanged(object sender, EventArgs e)


{
if(textBox1.Text!="" && textBox2.Text != "")
{
button1.Enabled = true;
button2.Enabled = true;
}
else
{
button1.Enabled = false;
button2.Enabled = false;
}
}

private void button2_Click(object sender, EventArgs e)


{
richTextBox1.Text = "";
textBox1.Text = "";
textBox2.Text = "";
}

private void textBox2_TextChanged(object sender, EventArgs e)


{
if (textBox1.Text != "" && textBox2.Text != "")
{
button1.Enabled = true;
button2.Enabled = true;
}
else
{
button1.Enabled = false;
button2.Enabled = false;
}
}

private void button1_Click(object sender, EventArgs e)


{
try
{
x = Convert.ToDouble(textBox1.Text);
y = Convert.ToDouble(textBox2.Text);
c = (x + y) / (y * y + Math.Abs((y * y + 2) / (x + x * x * x / 5))) + Math.Exp(y + 2);
richTextBox1.Text = richTextBox1.Text + "x = " + x.ToString() + " y = " + y.ToString() + "\t\tc1 = " + c.ToString("F") + "\n";
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString(),"Dastur bajarilishida xatolik:");
}
}
}
}



Download 2.33 Mb.

Do'stlaringiz bilan baham:
  1   2




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