Рассмотрим обработчики событий в окне графической формы представления прямоугольников.
Обработчики реализованы на форме 3, изображенной на рисунке 6.9.
Рисунок 6.9 – Окно графической формы представления прямоугольников
Сразу хочется отметить, что дизайн представленной формы долек от совершенства. В коде формы 3 нет ничего того, что для Вас является новым (эта форма добавлена в проект для большего числа форм). Поэтому просто приведем исходный код формы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form3: Form
{
public Form3()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Close();
}
private void Form3_Paint(object sender, PaintEventArgs e)
{
int ax, ay, bx, by;
Pen myPen = new Pen(Color.Blue, 2);
Graphics g = e.Graphics;
g.DrawLine(myPen, 0, 100, 200, 100);
g.DrawLine(myPen, 100, 0, 100, 200);
myPen = new Pen(Color.Red, 2);
for (int i = 0; i < 6; i++)
{
if (Form1.a[i, 0] < Form1.a[i, 2]) ax = Form1.a[i, 0];
else ax = Form1.a[i, 2];
if (Form1.a[i, 1] < Form1.a[i, 3]) ay = Form1.a[i, 1];
else ay = Form1.a[i, 3];
bx = Math.Abs(Form1.a[i, 0] - Form1.a[i, 2]);
by = Math.Abs(Form1.a[i, 1] - Form1.a[i, 3]);
|
|
g.DrawRectangle(myPen, ax+100, ay+100, bx, by);
}
}
}
}
Еще одна форма проекта «Информация об авторе» также добавлена для демонстрации возможностей многооконного приложения.
Рисунок 6.10 – Окно режима программы «Информация об авторе»
Исходный код формы 4 содержит только обработчик кнопки возврата к 1 форме. Остальное реализовано с помощью свойств элементов формы 4:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form4: Form
{
public Form4()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Close();
}
}
}
Вопросы для самопроверки
1 Что означает сокращение MDI?
2 В каких ситуациях имеет смысл проектировать главную форму как главную кнопочную форму?
3 Какой элемент управления обычно используется для размещения рисунков на форме?
4 Как добавить в проект новую форму с помощью окна Solution Explorer?
5 Как добавить в проект новую форму с помощью режима Project?
6 Чем отличается диалоговое (модальное) окно от обычного окна формы?
7 Каким методом открывается обычное (не модальное) окно формы?
8 Каким методом открывается модальное окно формы?
9 Что делает следующий фрагмент программы:
private void button3_Click(object sender, EventArgs e)
{
Form5 f5 = new Form5();
if (f5.ShowDialog() == DialogResult.OK) k = 0;
}?
10 Какой элемент управления часто используется для табличной формы представления информации?