65
mnuSelectAll
&SelectAll
CtrlA
mnuFormat
F&ormat
mnuFont
Font…
mnuColor
Color…
mnuWindow
&Window
mnuArrangeIcons
Arrange Icons
mnuCascade
Cascade
mnuTileHorizonta
l
Tile Horizontal
mnuTileVertical
Tile Vertical
mnuHelp
?
mnuAbout
About
Programm...
Кейбір меню пункттері үшін кестеде кӛрсетілмеген комбинацияларды да таңдап
алуға болады.
MDI-қосымшаларын жасау
Блокнот пен Microsoft Paint сияқты программалар SDI (Single — Document Interface)
қосымшалары, яғни тек қана бір құжатпен жұмыс істейтін программалар болып саналады.
Ал Microsoft Word немесе Adobe Photoshop програмалары бір мезетте бірнеше құжатпен
қатарластыра жұмыс істей алатын MDI (Multiple — Document Interface) қосымшаларына
жатады (3 және 4 суреттер).
66
3сурет. Microsoft Paint – SDI қосымша программасы
4 сурет. Adobe Photoshop – МDI қосымша программасы
MDI қосымшаларында бас форма ішінде бірнеше құжаттар болады, олардың
әрқайсысы графикалық программалар үшін сурет салатын қағаз болса, мәтін үшін
символдар терілетін жұмыс ӛрісі болып саналады.
Notepad C# программасымен жұмыс істеуді ары қарай жалғастырайық.
Шығарылымды кӛрсету – Обозреватель решений терезесіндегі жоба атын оң жақ
батырмамен шертеміз де, пайда болған жанама менюден Добавить/ Добавить Windows
Form… командаларын таңдаймыз. Сонда шыққан терезеде форма атын – blank.cs деп
кӛрсетеміз. Біздің жобада жаңа форма пайда болады, оны туында жоба (дочерний проект)
деп атауға болады. Дизайн режимінде оған RichTextBox басқару элементін тасымалдайық:
textBox элементіне қарағанда, мұндағы мәтін кӛлемі 64 Кб-пен шектелмейді,оған қоса,
RichTextBox мәтін түсін ӛзгертіп, суреттер қосу мүмкіндігін де береді. Бұл элементтің
Dock қасиетіне Fill мәнін орнатайық (5 сурет):
5сурет. RichTextBox элементінің Dock қасиетін орнату
67
Енді Frmmain формасының дизайн режиміне ауысып, оның IsMdiContainer қасиетіне
true мәнін береміз. Сонда форма түсі қарасұр түске боялады. Мұндағы жаңа құжаттар
меню пунктінің New (немесе Ctrl+N пернелерін басқанда) жолын шерткен сайын пайда
болады, сондықтан New пунктін екі рет шертіп, программа кодына кӛшейік:
private void mnuNew_Click(object sender, System.EventArgs e)
{
//frm формасының жаңа экземплярын жасаймыз
blank frm = new blank();
// жаңа экземплярдыңаталық контейнері болып,
// осы басты форма есептеледі.
frm.MdiParent = this;
//форманы шақырамыз
frm.Show();
}
Программаны іске қосамыз. Енді Ctrl+N пернелерін бассақ, немесе менюдің New
пунктін шертсек, қатарласа орналасқан бірнеше терезе пайда болады. Бірақ олардың
бәрінің де аттары бірдей — blank. Мысалы, Microsoft Word ортасында жаңа құжат ашсақ,
оның аты ДокументN болады ғой, N — құжат нӛмірі. Енді blank формасының кодына
ауысып, blank класында DocName айнымалысын жариялаймыз:
public string DocName = "";
Енді frmmain формасының кодына ауысып, frmmain класында openDocuments
айнымалысын жариялаймыз:
private int openDocuments = 0;
DocName айнымалысына шаблон бойынша аттың бір бӛлігін меншіктейміз, оған
ашылатын құжаттар санауышы кіреді, сонан соң бұл мәнді жасалатын frm формасының
Text қасиетіне береміз:
private void mnuNew_Click(object sender, System.EventArgs e)
{
blank frm = new blank();
frm.DocName = "Untitled " + ++openDocuments;
frm.Text = frm.DocName;
frm.MdiParent = this;
frm.Show();
}
Программаны іске қосамыз. Енді жаңа құжаттар атаулары әртүрлі болып келеді.(6
сурет).
68
6 сурет. Жаңа құжаттар реттеле нӛмірленген аттармен аталады
MdiLayout бойынша реттеу
MDI-қосымшаларында бірнеше құжаттармен жұмыс істеу кезінде оларды экранда
белгілі бір тәртіппен реттеп орналастырған жӛн. Әрине, оларды қолмен біртіндеп реттеуге
болады, бірақ құжаттардың саны артатын болса, бұл қиындап кетеді. Енді Window менюі
пунктінде терезелерді реттеу әрекетін былайша жүзеге асырамыз.
Ӛңдеуіштер жасаймыз:
private void mnuArrangeIcons_Click(object sender, System.EventArgs e)
{
this.LayoutMdi(MdiLayout.ArrangeIcons);
}
private void mnuCascade_Click(object sender, System.EventArgs e)
{
this.LayoutMdi(MdiLayout.Cascade);
}
private void mnuTileHorizontal_Click(object sender, System.EventArgs e)
{
this.LayoutMdi(MdiLayout.TileHorizontal);
}
private void mnuTileVertical_Click(object sender, System.EventArgs e)
{
this.LayoutMdi(MdiLayout.TileVertical);
}
LayoutMdi тәсілі тӛрт мүшесі бар MdiLayout реттеулерінен тұрады. ArrangeIcons ӛз
фокусын (әрекетті орындауын) таңдап алынған формаға ауыстырады, ArrangeIcons
Достарыңызбен бөлісу: |