расм. Переключател ва вкладлардан иборат дастур интерфейси
VS 2012 муҳитини ишга тушириб, янги Windows Forms Application (Приложение Windows Forms) лойиҳасини ҳосил қилиб, унга Vkladka номини берамиз. ToolBox панелидаги TabControl бошқарув элементини дастуримиздаги формага олиб келамиз.
Дастурда бошланғич ҳолатда иккита вкладка шакллантирилган бўлиб, учинчи вкладкани дастурий код воситасида қўшиш мумкин.
Аввало ушбу амални конструкторда қандай қилиб қўшиш мумкинлигини кўрсатиб ўтамиз. Бунинг учун TabControl1 бошқарув элементининг TabPages хусусиятини танлаймиз ва TabPage Collection Edit мулоқот ойнасини чақирамиз.
Сўнгра Add тугмаси орқали янги вкладка қўшамиз. Ушбу вкладкалар 0 дан бошлаб номерланган бўлиб, учинчи вкладкамиз TabPages(2) каби аниқланган. Ҳар бир вкладканинг номини дастурий кодда шакллантирамиз.
Фойдаланувчилар TabControl бошқарув элементи билан ишлашлари учун дастурий код орқали униинг хусусиятлари билан ишлаймиз. Аммо формамизга қўшимча равишда 1.14 расмда келтирилган каби RadioButtonлар ва Labelни жойлаштирамиз.
Қуйидаги 1.7 листингда ушбу мисол ечими келтирилган:
1.7 листинг. Вкладкалар ва переключателларни бошқарувчи дастур
|
// 3 та TabControl вкладкасига эга дастур яратилиб
// матннинг ранги ва улчовлари RadioButton бошкарув
// элементи оркали узгартрилади
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Vkladki
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// учинчи вкладкани "дастур коди" оркали яратиш:
var tabPage3 = new TabPage();
tabPage3.UseVisualStyleBackColor = true;
// Учинчи вкладкани мавжуд tabControl1 га кушиб куйиш:
this.tabControl1.Controls.Add(tabPage3);
// 5 ва 6 переключателларни учинчи вкладкага кушиб куйиш:
tabPage3.Controls.Add(this.radioButton5);
tabPage3.Controls.Add(this.radioButton6);
// 5 ва 6 переключателларнинг жойлашуви:
this.radioButton5.Location = new Point(20, 15);
this.radioButton6.Location = new Point(20, 58);
this.Text = "Сизга кайси кайфият маъкул?";
// Вкладкалар сарлавхаларини узгартириш:
tabControl1.TabPages[0].Text = "Матн";
tabControl1.TabPages[1].Text = "Ранг";
tabControl1.TabPages[2].Text = "Улчови";
// Ушбу жуфтликда матн ёзуви узгартирилади:
radioButton1.Text =
"Аъло кайфият," + "\n" + "камтаринлик";
radioButton2.Text = "Яхши кайфият, " +
"одобли, " + "\n" + "мехнатсеварлик";
// ёки
// radioButton2.Text = "Яхши кайфият, " +
// Environment.NewLine + "одобли, " + "\n" + "мехнатсеварлик";
// Ушбу переключателлар жуфтлиги матн рангини узгартиради:
radioButton3.Text = "Кизил";
radioButton4.Text = "Кук";
// Ушбу жуфтлик матн улчовини узгартиради:
radioButton5.Text = "11 пункт";
radioButton6.Text = "13 пункт";
label1.Text = radioButton1.Text;
}
// Олтита переключателларга мос холатни шакллантириш
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
label1.Text = radioButton1.Text;
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
label1.Text = radioButton2.Text;
}
private void radioButton3_CheckedChanged(object sender, EventArgs e)
{
label1.ForeColor = Color.Red;
}
private void radioButton4_CheckedChanged(object sender, EventArgs e)
{
label1.ForeColor = Color.Blue;
}
private void radioButton5_CheckedChanged(object sender, EventArgs e)
{
label1.Font = new Font(label1.Font.Name, 11);
}
private void radioButton6_CheckedChanged(object sender, EventArgs e)
{
label1.Font = new Font(label1.Font.Name, 13);
}
}
}
|
Дастур кодидан кўриниб турибдики, InitializeComponent() методи чақирилгач, дастурий код воситасида учинчи вкладка ҳосил қилинади.
var tabPage3 = new TabPage();
Ушбу вкладка var калит сўзи орқали эълон қилинган. Сўнгра ушбу вкладка TabPages3 ном орқали TabControl1 бошқарув элементига қўшиб қўйилган.
this.tabControl1.Controls.Add(tabPage3);
Сўнгра бешинчи ва олтинчи переключателлар учинчи вкладкага қўшиб қўйилган.
tabPage3.Controls.Add(this.radioButton5);
tabPage3.Controls.Add(this.radioButton6);
this.radioButton5.Location = new Point(20, 15);
this.radioButton6.Location = new Point(20, 58);
Дастурий коднинг кейинги сатрлари изоҳ талаб қилмайди. Муайян вкладкада жойлашган переключателлар бир бирига тескари ишлайди. Яхни фойдаланувчи уларнинг бирини танлаши орқали бошқасидан активлик олиб қўйилади. Переключателлар босилганлигини CheckedChanged ҳодисаси (1.7 листинг) орқали аниқлаш мумкин. Дастурдан лавҳалар қуйида келтирилган:
9-мисол. Visible хусусияти ва Balloon стилидаги ToolTip
Ушбу мисолда бошқарув объектларини Visible хусусиятини ишлатиш усули келтирилган. Дастур орқали label нишони ёзувига қиймат берилади ва тугма орқали ушбу объектнинг формадаги кўриниши ёки кўринмаслиги белгиланади. Тугмага сичқонча узоқроқ вақтда туриб қолганда, «Мени босинг» ёзувли Balloon стилидаги экзотик подсказка шакллантирилади.
Do'stlaringiz bilan baham: |