Высокоуровневые методы информатики и программирования. Тузовский А.Ф. - 149 стр.

UptoLike

Составители: 

149
ляться, и нужные обработчики будут выполняться при выборе в нем ко-
манд.
8.5.4. Создание инструментальной полосы и строки состояния
Для создания инструментальной полосы (или строки состояния)
нужно создать экземпляр класса ToolStrip
(или StatusStrip) и добавить его в коллекцию
Controls формы, на которой она должна появ-
ляться. Затем нужно создавать объекты классов,
производных от ToolStripItem, задавать их
свойства и добавлять к коллекции Items. Для всех элементов инстру-
ментальной полосы можно задать соответствующие обработчики собы-
тий. Ниже показан пример создания инструментальной полосы и вклю-
чения в нее текстового поля и кнопки:
// описание элементов интерфейса
ToolStrip ts = new ToolStrip();
ToolStripTextBox tstb = new ToolStripTextBox();
ToolStripButton tsbtn = new ToolStripButton("Выход");
// ...
// в конструкторе формы задаем инструментальную полосу
ts.Items.Add(tstb); // добавляем текстовое поле
ts.Items.Add(tsbtn); // добавляем кнопку
// задание обработчика для кнопки
tsi.Click += mnuFileExit_Click;
Controls.Add(ts); // занесение в коллекцию формы
Напомним, что напрямую только ЭУ производные от ToolStri-
pItem могут включаться в коллекцию Items объектов класса Tool-
Strip. Однако класс ToolStripControlHost позволяет включать в
инструментальную полосу и элементы, которые не являются производ-
ными от класса ToolStripItem. Ниже показан пример того, как в объ-
ект типа ToolStrip может быть вставлен ЭУ DateTimePicker дан-
ном примере, при выборе даты также вычисляется количество дней, ча-
сов, минут и секунд до ее наступления от текущей даты и времени
(свойство DateTime.Now)):
ToolStrip tStrip1 = new ToolStrip();
ToolStripLabel tSLabel1 = new ToolStripLabel();
tStrip1.Items.Add(tSLabel1);
Controls.Add(tStrip1);
ToolStripControlHost dtCtl;
dtCtl = new ToolStripControlHost(new DateTimePicker());
((DateTimePicker)dtCtl.Control).ValueChanged +=
delegate { tSLabel1.Text =