|
Байланысты: word Programmirovanie na yazyke CПример 2
Простейший графический редактор. Рисование мышью.
Создадим новый проект wf352 типа Windows Forms.
Разместим на форме кнопку для очистки (рис. 3.24, а).
Зарегистрируем три события мыши для формы (MouseDown, MouseUp, MouseMove) и событие нажатия кнопки Click. Введем коды в шаблоны обра- ботчиков событий:
// инициализация: перо поднято, цвет черный, толщина 4 px
bool ris = false; Color clr = Color.Black; int w = 4;
// обработчики событий мыши
private void Form1_MouseDown(object sender, MouseEventArgs e)
{ ris = true; } // перо опущено
private void Form1_MouseUp(object sender, MouseEventArgs e)
{ ris = false; } // перо поднято
// движение мыши, вывод ее координат в заголовок формы
private void Form1_MouseMove(object sender, MouseEventArgs e)
{ this.Text = "x = " + e.X + " y = " + e.Y;
if (ris) // если нажата кнопка мыши
{ Graphics g = CreateGraphics(); // рисуем закрашенным квадратом
g.FillRectangle(new SolidBrush(clr), e.X, e.Y, w, w);
}
}
private void button1_Click(object sender, EventArgs e)
{ Graphics g = CreateGraphics(); g.Clear(SystemColors.Control);
}
Рис. 3.24. Варианты интерфейса графического редактора
Протестируем программу. При необходимости откорректируем свойства элементов и код.
Пример 3
Вывод текста в графике.
Создадим новый проект wf353 типа Windows Forms.
Разместим на форме надпись, поле ввода текста и три кнопки для выбора шрифта, цвета и вывода текста (рис. 3.25).
Рис. 3.25. Интерфейс приложения wf353
Зарегистрируем события нажатия кнопок. Введем код в шаблоны обра- ботки:
// инициализируем поля, задаем цвет текста и шрифт по умолчанию
Color clr = Color.Black;
Font fnt = new Font("Times New Roman", 14);
// вызов диалога выбора шрифта
private void button1_Click(object sender, EventArgs e)
{ FontDialog fntDia = new FontDialog(); fntDia.ShowDialog(); fnt = fntDia.Font;
}
// вызов диалога выбора цвета текста
private void button2_Click(object sender, EventArgs e)
{ ColorDialog colDia = new ColorDialog(); colDia.ShowDialog(); clr = colDia.Color;
}
// ввод и рисование текста
private void button3_Click(object sender, EventArgs e)
{ string s = textBox1.Text; // ввод текста
Graphics g = CreateGraphics(); g.Clear(SystemColors.Control); Brush br = new SolidBrush(clr);
g.DrawString(s, fnt, br, 20, 100); // вывод текста
}
Протестируем программу. При необходимости откорректируем свойства
элементов и код.
Достарыңызбен бөлісу: |
|
|