private void toolBar1_ButtonClick(object sender,
System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
int buttonNumber = toolBarl.Buttons.IndexOf(e.Button);
switch (buttonNumber)
{
case 0:
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.ShowDialog();
//код, показывающий, что делать с открытым файлом
textBox1.Text = "Открытие Файла!";
break;
case 1:
SaveFileDialog saveFileDialog1 = new SaveFileDialog ();
saveFileDialog1.ShowDialog();
//код, анализирующий результат операции сохранения файла
textBox1.Text = "Сохранение Файла!";
break;
default:
ColorDialog colorDialog1 = new ColorDialog();
if (colorDialog1.ShowDialog()== DialogResult.OK)
this.textBox1.BackColor =colorDialogl.Color;
break;
}
}
В заключение взгляните на спроектированную форму с меню и панелью с командными кнопками.
Рис. 24.12.
Графика необходима при организации пользовательского интерфейса. Образы информативнее текста. Framework.Net реализует расширенный графический интерфейс GDI +, обладающий широким набором возможностей. Но для рисования в формах достаточно иметь три объекта — перо, кисть и, хочется сказать, бумагу, но третий нужный объект — это объект класса Graphics, методы которого позволяют в формах заниматься графикой — рисовать и раскрашивать.
Класс
Объекты этого класса зависят от контекста устройства, (графика не обязательно отображается на дисплее компьютера, она может выводиться на принтер, графопостроитель или другие устройства), поэтому создание объектов класса Graphics выполняется не традиционным способом — без вызова конструктора класса. Создаются объекты специальными методами разных классов. Например, метод
При рисовании в формах можно объявить в форме поле, описывающее объект класса Graphics:
Graphics graph;
а в конструкторе формы произвести связывание с реальным объектом:
graph = CreateGraphics ();
Затем всюду в программе, где нужно работать с графикой, используется глобальный для формы объект
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
Graphics gr = e.Graphics;
//перерисовка, использующая методы объекта gr
}
Для получения этого объекта можно использовать и статические методы самого класса Graphics.
Методы класса
У класса Graphics большое число методов и свойств. Упомяну лишь о некоторых из них. Группа статических методов класса позволяет создать объект этого класса, задавая например описатель (handle) контекста устройства.
Для рисования наиболее важны три группы методов. К первой относится перегруженный метод
Класс