Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


This.LayoutMdi(MdiLayout.TileHorizontal);




}

 

private void мозаика¬ертикальноToolStripMenuItem_Click(object sender, EventArgs e)

{ // вертикальна€ мозаика

This.LayoutMdi(MdiLayout.TileVertical);

}

 

private void закрыть“екущееToolStripMenuItem_Click(object sender, EventArgs e)

{ // закрытие текущего (активного) окна с проверкой, существует ли такое

if (this.ActiveMdiChild!= null) ActiveMdiChild.Close();

}

 

private void закрыть¬сеToolStripMenuItem_Click(object sender, EventArgs e)

{ // два варианта закрыти€ всех подчиненных окон

/* for (int i = MdiChildren.Length - 1; i >= 0; i--)

MdiChildren[i].Close();*/

while (this.ActiveMdiChild!= null) ActiveMdiChild.Close();

}

 

ActiveMdiChild Ц системна€ переменна€, указатель на активное в данный момент окно.

MdiChildren Ц массив указателей на подчиненные окна.

 

ћожет возникнуть необходимость создани€ подчиненного окна в единственном экземпл€ре. ƒл€ этого необходимо после его создани€ заблокировать пункт меню его открыти€ и разблокировать его при закрытии окна. ƒл€ этого используем пункт меню ќкна Ц ≈динственна€ форма. Ётому пункту меню дадим им€ FormA и он должен иметь атрибут доступа public. —оздаем таким образом почти пустую форму Form4. в число ее переменных включим сссылку на главное окно: public Form1 f1;

—оздание и открытие этого окна:

private void FormA_Click(object sender, EventArgs e)

{

Form4 f4;

f4 = new Form4();

f4.MdiParent = this;

FormA.Enabled = false; //закроем пункт меню

f4.f1 = this; // передаем адрес главного окна в Form4

F4.Show();

}

 

ѕри закрытии пункт меню ≈динственна€ форма (его им€ FormA) должен быть снова освобожден. “онкость в следующем: форму можно закрыть несколькими способами: нажатием на командную кнопку, нажатием на кнопку ´, через системное меню и т.д. ¬ любом случае пункт меню должен быть разблокирован. ƒл€ этого используем событие, св€занное с закрываемым окном:

FormClosed (происходит после закрыти€) или FormClosing (происходит до закрыти€). ¬ нашем случае можно использовать любое из них. Ќайдем нужное событие в списке, делаем на его имени двойной щелчок и пишем реализацию:

private void Form4_FormClosed(object sender, FormClosedEventArgs e)

{

f1.FormA.Enabled = true;

}

 

¬ MDI-приложени€х возможно изменение меню в главном окне при открытии того или иного подчиненного окна. ƒл€ этого создаем меню в подчиненном окне. ѕри открытии этого окна оно соедин€етс€ с меню главного окна.

 

 

 онтрольные вопросы

1.  акие диалоговые средства дл€ управлени€ работой программой ¬ы знаете?

2.  акие способы представлени€ массивов на формах ¬ы знаете?  акие их преимущества и недостатки?

3. ѕроанализируйте отличи€ MDI- и SDI-приложений.

 

ќбъектно-ориентированное программирование в Microsoft Visual Studio 2005

 

¬ предыдущих главах мы рассмотрели, как писать программы на C# (по процедурной и по объектно-ориентированной методике), а также создание интерфейса средствами Microsoft Visual Studio 2005. –ассмотрим в этой главе, как объединить в одно целое все изложенное выше: как построить программы дл€ решени€ прикладных задач и как построить интерфейс дл€ них. »меютс€ следующие возможности, которые мы по очереди рассмотрим:

1. ƒополнить классы форм собственными данными и функци€ми дл€ решени€ прикладных задач. ƒругими словами, объединить в классах интерфейс и логику прикладной задачи.

2. —оздать отдельные классы дл€ решени€ прикладных задач, предусмотрев в их методах (в том числе и в конструкторах) формальные параметры и возвращаемые значени€ дл€ взаимодействи€ с интерфейсом. „тение (запись) данных из интерфейса (в интерфейс) и их передача в методы обеспечиваетс€ средствами Visual Studio.

3. ѕередать в классы прикладных задач указатели на формы (или на компоненты на форме); чтение (запись) данных из форм осуществл€етс€ методами классов.

4. ¬ методах классов прикладной задачи предусмотреть открытие форм дл€ ввода/вывода.

 





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2016-11-24; ћы поможем в написании ваших работ!; просмотров: 463 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

¬ы никогда не пересечете океан, если не наберетесь мужества потер€ть берег из виду. © ’ристофор  олумб
==> читать все изречени€...

1416 - | 1341 -


© 2015-2024 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.02 с.