Formalar bilan ishlash
Forma asoslari
Ilovaning tashqi ko’rinishi asosan forma orqali ifodalanadi. Forma asosiy qurish bloke hisoblanadi. Ular har xil boshqaruv elementlari uchun konteynerni ifodalaydi. Hodisalar mexanizmi forma elementlar bilan kiritish va shunga o’xshash foydalanuvchi bilan o’zaro ta’sir imkonini beradi.
Proyekt quyidagi komponentlardan tashkil topgan:
Ko’rinishidan faqat formani ko’ramiz, lekin grafik ilovaning kirish nuqtasi Program.cs faylda joylashgan Program sinfi hisoblanadi:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace HelloApp
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
Avval ushbu sinf yuklanadi, keyin Application.Run(new Form1()) yordamida Form1 formasi yuklanadi. Agar qandaydir o’zgartirish kiritish kerak bo’lsa, unda formaning Form1 sinfida shu o’zgartirishni amalga oshiriladi.
Tarkibi bo’yicha forma murakkab. U bir qancha komponentlarga ajraydi. Proyekt tarkibiga kiruvchi Form1.Designer.cs quyidagicha ko’rinishda bo’ladi:
namespace HelloApp
{
partial class Form1
{
///
/// Required designer variable.
///
private System.ComponentModel.IContainer components = null;
///
/// Clean up any resources being used.
///
///
true if managed resources should be disposed; otherwise, false.
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.SuspendLayout();
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 261);
this.Name = "Form1";
this.Text = "Привет мир!";
this.ResumeLayout(false);
}
#endregion
}
}
Obyektning destruktori vazifasini bajaruvchi Dispose(), Forma hususiyatlarining boshlang’ich qiymatlarini o’rnatuvchi InitializeComponent() metodlariga ega Form1 ning qism sinfi e’lon qilingan.
Boshqaruv elementlarini, masalan, tugmalarni qo'shganda, ularning tavsifi ushbu faylga qo'shiladi.
Ammo amalda biz ushbu sinfga kamdan-kam duch kelamiz, chunki ular asosan dizayn funktsiyalarini - ob'ektlarning xususiyatlarini belgilash, o'zgaruvchilarni belgilash bajaradilar.
Yana bir fayl - Form1.resx - Forma manbalarini saqlaydi. Qoida tariqasida, bir vaqtning o'zida bir nechta til madaniyatlari uchun yagona formalarni yaratish uchun resurslar qo'llaniladi.
Va yana bir muhim fayl - Form1.cs, bu loyiha tuzilishida shunchaki Form1 deb nomlanadi, formaning kodi yoki dasturiy mantig'ini o'z ichiga oladi:
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 Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}
По умолчанию здесь есть только конструктор формы, в котором просто вызывается метод InitializeComponent(), объявленный в файле дизайнера Form1.Designer.cs. Именно с этим файлом мы и будем больше работать.
Odatda Form1.Designer.cs faylida InitializeComponent () usulini chaqiruvchi formaning konstruktori e'lon qilingan. Aynan ushbu fayl yordamida biz ko'proq ishlaymiz.
Do'stlaringiz bilan baham: |