Upload
gantur-togtokh
View
200
Download
0
Embed Size (px)
Citation preview
Лекц №4
• Десктоп програм нь нэг компьютер дээр эсвэл
локаль сүлжээнд ажиллана.
• Десктоп програмын хэрэглэгчийн интерфейс нь
график интерфейс (GUI) дээр тулгуурласан
байдаг.
• Хэрэглэгчийн график интерфейстэй програм
зохиохын тулд .NET фреймворкийн
System.Windows.Forms, неймспейс дэх
классуудыг ашиглана.
3
• Програмын хэрэглэгчтэй харилцах хэсэг буюу
програмын харагдах байдлыг хэрэглэгчийн
интерфейс гэнэ.
• Хэрэглэгчийн интерфейсийг байгуулахдаа
дараах зүйлүүдийг анхаарах хэрэгтэй
Эмх цэгцтэй байдал
Таб дараалал
Төлвийн мөр
Хэрэгслийн тайлбар
4
• Хэрэглэгчийн интерфейсийг байгуулахад
ашиглагдах бүх объектуудыг хэрэглээнээс
хамааран дараах нэр томъѐонууд ашиглагдана.
Компонент: дахин ашиглах боломжтой, бусад
объектуудтай харилцан ажилладаг объектыг
компонент гэнэ.
Контайнер (агуулагч): нэг болон түүнээс олон
компонентийг агуулдаг объектыг агуулагч гэнэ.
Контрол: програмын интерфейсийг үүсгэхэд
ашиглагддаг тодорхой зориулалт бүхий бэлэн
объектийг контрол гэнэ.
5
• Програмын интерфейсийн үндсэн элемэнт нь форм
байна.
6
7
8
• Бүх Windows Forms контролуудSystem.Windows.Forms.Control классаас
удамшдаг.
• Бүх Windows Forms контролуудSystem.Windows.Forms.Control классын гол
проперти, метод, үзэгдлүүдийг дундаа эзэмшинэ.
9
• Форм нь програмын интерфейсийн үндсэн элемэнт
буюу өөрөөр хэлбэл удирдах элемэнтүүдийн
агуулагч болдог тул тухайн програмын чухал
бүрэлдэхүүн юм.
• Тухайн формын өнгө үзэмж дизайн форм дээр
байрлаж байгаа обьектуудын онвчтой байршил
зэрэг нь хэрэглэгч хүний ажиллах сонирхолыг
төрүүлж, ашиглахад эвтэйхэн байх ѐстой.
• Тухайн програмын зорилгоос хамаараад програм
нэг буюу хэдэн формтой байж болно.
10
• Name – энэ шинжид формын нэрийг тодорхойлно,
буцаана. (Control класс)
• Энэ нэр нь тухайн объектыг төлөөлөх хувьсагч юм.
• Формыг үүсгэсний дараа хамгийн эхэнд хийх
тохиргоо бол формыг нэрийг тодорхойлох юм.
• Аливаа програмыг зохиоход олон төрлийн олон
объект ашигладдаг. Тиймээс объектуудыг
нэрлэхдээ төрлийг нь ялгаж тодорхойлохын тулдfrm префиксийг ашиглаж занших хэрэгтэй.
• Жишээ нь: frmSecond
11
12
Үйлдэл Үүсэх үзэгдэл Тайлбар
Формыг үүсэх Формын байгуулагч
дуудагдана. Visual
studio нь формыг
бэлтгэхэд
InitializeComponent
методыг дууддаг
Формыг
харуулах
Form.Show()
Form.Load
Form.Activated
Load үзэгдэл эхэлж
үүсээд араас нь
Activated үзэгдэл
үүснэ.
13
Үйлдэл Үүсэх үзэгдэл Тайлбар
Форм
идэвхжих
Form.Activated Хэрэглэгч формыг
сонгох үед энэ үзэгдэл
үүснэ
Форм
идэвхигүй
болох
Form.Deactivate Форм фокусаа алдах
үед идэвхигүй болно.
Форм хаагдах Form.Deactivate
Form.Closing
Form.Closed
From.Close эсвэл
формын хаах товч
дээр дарахад форм
хаагдана.
14
• Аливаа форм объект нь үндсэн Form классаас
удамшсан ямар нэг класс байна.
public partial class frmFirst : Form {
public frmFirst() {
InitializeComponent();
}
}
• Тухайн классын төрлийн объектыг санах ойд
хуваарилаж, бодит объектыг үүсгэнэ.
frmFirst my = new frmFirst();
•
15
• Форм объектыг харуулахдаа дараах методуудыг
ашиглана.
Form.ShowDialog()
• Модаль диалогицонхыг харуулна
• Энэ төрлийн цонхыгнээсэн үед түүнийгхаах буюу ямар нэгхүртэл бусад цонхруухандах боломжгүй
Form.Show()
• Модаль бус цонхыгхаруулна
• Энэ төрлийн цонх ньтүүнийг үүсгэж байгааформтой хамааралгүйбөгөөд бусадцонхнуудын хоорондшилжих боломжтой
16
•frmFirst my = new frmFirst();
•my.ShowDialog();
Form.ShowDialog()
•frmFirst my = new frmFirst();
•my.Show();
Form.Show()
17
• BackColor – формын дэвсгэр өнгийн тодорхойлно,
буцаана. (Control класс)
• Энэ шинжийн утга нь Color бүтэц төрлийн утгаар
тодорхойлогдоно.
• Жишээ:
frmSecond second = new frmSecond();
second.BackColor = Color.Red;
second.Show();
18
• BackgroundImage – формын дэвсгэр зургийгтодорхойлно, буцаана. (Control класс)
19
• BackgroundImageLayout – формын дэвсгэр
зургийн харагдах байдлыг тодорхойлно, буцаана.
(Control класс)
• Энэ шинжийн утга нь ImageLayout тоочих төрлийн
утгаар тодорхойлогдоно.
Tile – зургийг үржүүлж, формын дэвсгэрийг дүүргэнэ.
Center – формын дэвсгэрийг төвд байрлуулна.
Stretch – зургийг сунгаж, формын дэвсгэрийг дүүргэнэ.
Zoom – зургийг томруулна.
20
Жишээ:
frmSecond second = new frmSecond();
second.BackgroundImageLayout = ImageLayout.Stretch;
Stretch
Center
Tile
Zoom
21
• Cursor – форм дээгүүр хулганы заагч
өнгөрөхөд харагдах курсорын
хэлбэрийг тодорхойлно, буцаана.
(Control класс)
• Энэ шинжийн утга нь Cursors бүтэц
төрлийн утгаар тодорхойлогдоно.
• Жишээ:
frmSecond second = new frmSecond();
second.Cursor = Cursors.Hand;
22
• Font – форм дээрх текстийн хэлбэр, хэмжээ, өнгө,
загварыг тодорхойлно, буцаана. (Control класс)
23
• ForeColor – форм дээрх текст, зургийн өнгийг
тодорхойлно, буцаана. (Control класс)
• Жишээ:
frmSecond second = new frmSecond();
second.ForeColor = Color.Red;
24
• FormBorderStyle – Формын хүрээний хэлбэрийг
тодорхойлно.
• Энэ шинжийн утга нь FormBorderStyle тоочих
төрлийн утгаар тодорхойлогдоно.
• Жишээ:
frmSecond second = new frmSecond();
second.FormBorderStyle = FormBorderStyle.FixedSingle;
25
• None – хүрээгүй
• FixedSingle – хэмжээ нь тогтмол, дан шугаман хүрээ
• Fixed3D – хэмжээ нь тогтмол, 3 хэмжээст хүрээ
• FixedDialog – өргөн, хэмжээ нь тогтмол, диалог
хэлбэрийн хүрээ
• Sizable – хэмжээ нь өөрчлөгдөх боломжтой
26
• Text – Формын гарчигийг тодорхойлно, буцаана.
(Control класс)
• Жишээ:
frmSecond second = new frmSecond();
second.Text = “Миний анхны форм”;
• string str=second.Text;
27
• Enabled – форм идэвхитэй байх эсэхийг
тодорхойлно, буцаана. (Control класс)
• Жишээ:
frmSecond second = new frmSecond();
second.Enabled = false;
28
• Locked – формыг түгжих эсэхийг
тодорхойлно.(Control класс)
• Тухайн контролыг түгжсэн үед зөөх, хэмжээг нь
өөрчлөх гэсэн үйлдлүүдийг гүйцэтгэх боломжгүй:
• Жишээ:
frmSecond second = new frmSecond();
second.Locked = true;
29
• Size – формын хэмжээ буюу өргөн, өндөрийг нь
тодорхойлно, буцаана. (Control класс)
• MaximumSize – формын хэмжээг өөрчилж болох
хамгийн дээд хэмжээ.
• MaximumSize – формын хэмжээг өөрчилж болох
хамгийн доод хэмжээ.
• Хэмжээг Size объектоор тодорхойлно.
• Size объектыг үүсгэх байгуулагч функцийн
параметр: өргөн (width), өндөр (height)
30
Жишээ:
frmSecond second = new frmSecond();
second. Size = new Size(200, 100);
second. MaximumSize = new Size(400, 200);
second. MinimumSize = new Size(100, 50);
31
• Location – формын байрлал(зүүн дээд өнцөгийн
координат)-ыг тодорхойлно, буцаана. (Control
класс)
• Байрлалыг Point объектоор тодорхойлно.
• Point объектыг үүсгэх байгуулагч функцийн
параметр: X тэнхлэгийн координат (x), Y
тэнхлэгийн координат (y)
• Дэлгэцний зүүн дээд өнцөгийн координат: 0, 0
32
• Жишээ:
frmSecond second = new frmSecond();
second.Location = new Point(20, 20);
33
• Width, Height – контролын өргөн/өндөр (Control
классын шинж)
• Top, Left, Right, Bottom, – контролын
дээд/зүүн/баруун/доод ирмэг, түүний агуулагчийн
дээд/зүүн/баруун/доод ирмэг хоѐрын хоорондох зайг
тодорхойлно, буцаана. (Control классын шинж)
• Дээрх шинжүүд нь байрлал болон хэмжээ гэсэн
шинжүүдээр тодорхойлогдоно.
– Right нь Left + Width тэнцүү
– Bottom нь Top + Height тэнцүү
34
• Bounds – Хэмжээ болон байрлалыг rectangle
объектоор тодорхойлно, буцаана.(Control класс)
• Жишээ:
frmSecond second = new frmSecond();
second.Bounds = new Rectangle(10, 10, 100, 100);
35
• Anchor – Контролыг агуулагчийн ирмэгтэй хэрхэн
бэхлэхийг тодорхойлно, буцаана. Агуулагчийг
татаж сунгахад контролын бэхэлсэн ирмэгүүдийн
зай хэвээр үлдэнэ.(Control класс)
• Жишээ:
frmSecond second = new frmSecond();
second.Bounds = new Rectangle(10, 10, 100, 100);
36
• StartPosition – формын эхэлж харагдах байрлалыг
тодорхойлно, буцаана.
• Энэ шинжийн утга нь FormStartPosition тоочих төрлийн
утгаар тодорхойлогдоно.
– CenterParent – эх цонхныхоо төвд
– CenterScreen – дэлгэцний төвд
– Manual – Location шинжид тодорхойлсон байрлалд
• Жишээ:
frmSecond second = new frmSecond();
second.StartPosition = FormStartPosition.CenterScreen;
37
• WindowsState – форм эхлээд яаж дүрслэгдэхийг
тодорхойлно.
• Энэ шинжийн утга нь FormWindowState тоочих
төрлийн утгаар тодорхойлогдоно.
– Maximized – цонх дэлгэц дүүргэгдсэн
– Minimized – цонх програмын мөр дээр хураагдсан
– Normal – цонх ердийн, өөрийн дүрслэлээр
• Жишээ:
frmSecond second = new frmSecond();
second.WindowState = FormWindowState.Maximized;
38
• ControlBox – форм дээр хяналтын буюу системийн
цэсийг харуулах эсэхийг тодорхойлно.
• Жишээ:
frmSecond second = new frmSecond();
second. ControlBox = false;
39
• MinimizeBox – форм дээр цонхыг багасгах товчийг
харуулах эсэхийг тодорхойлно.
• MaximizeBox – форм дээр цонхыг томсгох товчийг
харуулах эсэхийг тодорхойлно.
• Жишээ:
frmSecond second = new frmSecond();
second.MaximizeBox = false;
second.MinimizeBox = true;
40
• HelpButton– форм дээр тусламжийн товч
харуулах эсэхийг тодорхойлно.
• Тусламжийн товчийг харуулахын тулд MinimizeBox,
MaximizeBox товчийг харуулахгүйгээр тохируулна.
• Жишээ:
frmSecond second = new frmSecond();
second.HelpButton = true;
second.MaximizeBox = false;
second.MinimizeBox = false;
41
• Icon – формын дүрс файлыг тодорхойлно.
• Жишээ:
frmSecond second = new frmSecond();
second.Icon = new Icon(@"E:\Files\Nyamsuren\book.ico");
42
• ShowIcon – формын дүрс файлыг харуулах
эсэхийг тодорхойлно.
• Жишээ:
frmSecond second = new frmSecond();
second.Icon = new Icon(@"E:\Files\Nyamsuren\book.ico");
second.ShowIcon=false;
43
• Opacity – формын харанхуйлалыг тодорхойлно.
• Жишээ:
frmSecond second = new frmSecond();
second.Opacity = 0.1;
44
• ShowInTaskbar – форм төлвийн мөр дээр
дүрслэгдэх эсэхийг тодорхойлно.
• ТopMost – форм бусад формын үргэлж дээр нь
харагдах эсэхийг тодорхойлно.
• AcceptButton– формын зөвшөөрөх товчийг
тодорхойлно. Форм идэвхтэй үед ENTER товчийг
дарахад үзэгдэл хүлээж авах товчийг тодорхойлно.
• CancelButton– формын цуцлах товчийг
тодорхойлно. Форм идэвхтэй үед ESC товчийг
дарахад үзэгдэл хүлээж авах товчийг тодорхойлно.
45
• Аливаа форм үүсгэгч формтойгоо ямар нэг
хамааралтай байхыг эзэмшигчийн хамаарал гэж
нэрлэдэг.
• Формд эзэмшигч тодорхойлохдоо owner шинжийг
нь ашиглана.
• Формд эзэмшүүлсэн тодорхойлохдоо
ownedForms шинжийг нь ашиглана.
• Эзэмшүүлсэн форм нь үргэлж эзэмшигчийхээ дээр
байрлана.
• Эзэмшигч формыг хаахад эзэмшүүлэгч форм хамт
хаагдана.
46