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;
1-misol. Endi keling biror dastur yaratamiz. Rasmlar joylashgan papkamizdagi rasmlarni ko’rsatadigan dastur yozaylik.
Ishimizni Winform ochib olishdan boshlaymiz buni yuqorida ko’rib o’tdik endi esa dasturimizga yaxshi nom tanlab olamiz. Quyidagicha nomlaylik RasmKurish deb nom bergan holda proektimizni yaratib olamiz. Unda kerakli tugmalar qo’yamiz. Birin chi navbatda button tugmasini hosil qilamiz. U quyidagicha hosil qilamiz. Oynamizni chap tomonida joylashgan “Панел элементов” qismiga boradigan bo’lsak quyidagi buyruqlar chiqadi:
1-rasm
Button tugmasining ustiga sichqonchaning chap tugmasini bir marta bosgan holda “form” maydoniga kerakli joyga joylashtramiz. Keyin esa ImageList bizga rasmlarni ko’rsatadigan maydon hosil qilib beradi. Bu maydonni ham o’rnatamiz va quyidagicha oyna hosil bo’ladi.
2-rasm.
Hosil bo’lgan. Bundan button tugmamaiz(TomoshaQilish) ning ustiga sichqonchaning chap tugmachasini ikki marta bosadigan bo’lsak quyidagi oyna hosil bo’ladi:
sing 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 RasmKurish
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void TomoshaQilish_Click(object sender, EventArgs e)
{
}
}
}
Bu dasturimizning orqa qismi kodiga quyidagi kodarimizga
sing 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 RasmKurish
{
public partial class Form1 : Form
{
OpenFileDialog oldg;
public Form1()
{
InitializeComponent();
oldg = new OpenFileDialog();
oldg.RestoreDirectory = true;
oldg.InitialDirectory = "D:\\";
oldg.FilterIndex = 2;
oldg.Filter = " jpg files(*.jpg)|*.jpg|gif files (*.gif)|*.gif|png files (*.png)|*.png";
}
private void TomoshaQilish_Click(object sender, EventArgs e)
{
if (oldg.ShowDialog()==DialogResult.OK)
{
RasmMaydon.ImageLocation = oldg.FileName;
}
}
}
}
Va ishga tushiramiz
3-rasm
Shu oynamiz hosil bo’ladi. TomoshaQilish tugmamizni bosamiz natijamiz esa
4-rasm
Rasm manzilini ko’rssatamiz
5-rasm
Demak dasturimiz ishlamoqda
|