Обработчики событий главной формы
Добавление новых форм приложения
Существует несколько вариантов добавления в проект приложения новых форм. Рассмотрим два основных.
Для того чтобы добавить в проект новую форму, щелкните правой клавишей мыши строку названия проекта WindowsFormsAplication1 в окне Solution Explorer (см. рисунок 6.3).
Рисунок 6.3 – Первый вариант добавления формы в проект
В появившемся меню режимов работы выберите режим Add и в нем команду Add Windows Form (см. рисунок 6.4).
Рисунок 6.4 – Подключение новой формы к проекту приложения.
Обратите внимание запись Form2.cs появилась в окне Solution Explorer проекта WindowsFormsAplication1.
Во втором варианте Вам необходимо выбрать режим Project, а в нем команду Add Windows Form . . . После этого подтвердить название предлагаемой формы нажатием кнопки Add.
Рисунок 6.5 – Подключение третьей формы к проекту
Контроль подключения форм можно осуществлять как в окне Solution Explorer так и в окне редактирования форм.
Обработчики событий главной формы
Режим создания массива 6 прямоугольников можно реализовать в главной форме, а отображение результатов работы этого режима в формах 2 и 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 Form1 : Form
{
public static int[,] a = new int[6, 6];
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Random rnd = new Random();
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 4; j++)
{
a[i, j] = rnd.Next() % 201 - 100;
}
}
for (int i = 0; i < 6; i++)
{
if(Math.Abs(a[i,0]-a[i, 2]) == Math.Abs(a[i, 1] - a[i, 3]))
a[i, 4] = 1; else a[i, 4] = 0;
a[i,5]=Math.Abs(a[i,0]-a[i,2])*Math.Abs(a[i,1]-a[i,3]);
}
}
private void button2_Click(object sender, EventArgs e)
{
int y;
Form2 f2 = new Form2();
f2.ShowDialog();
}
private void button3_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.ShowDialog();
}
private void button4_Click(object sender, EventArgs e)
{
Form4 f4 = new Form4();
f4.Show();
}
}
}
При создании массива в 5 столбец будем записывать информацию о прямоугольнике 0 – квадрат, 1 – обычный прямоугольник, а 6 столбец значение площади прямоугольника.
В нашем проекте запланировано несколько форм. Естественно возникает вопрос можно ли открывать одновременно несколько форм и как переходить с одной формы на другую? Ответ на этот вопрос зависит от того как было открыто окно.
Каждое окно (форма) можно открыть как модальное (как "диалоговое окно") или как немодальное (как обычное окно).
Если окно открывается методом Show(), то она задает обычное окно; если окно открывается методом ShowDialog(), то она открывается как диалоговое окно. В чем разница? Из диалогового окна нельзя выйти, не закончив диалог и не закрыв форму. Открыв диалоговое окно, нельзя переключиться на работу с другой формой, не закончив диалог. Закрыть диалоговое окно можно разными способами. Можно щелкнуть по крестику, расположенному в правом верхнем углу формы или специальной кнопкой.
Если форма открыта методом Show, как не диалоговое окно, то, не закончив работу с открытой формой, можно перейти в главную форму или другую немодальную форму, поработать там, нажав какие-нибудь командные кнопки, получив нужную информацию, а затем снова вернуться к исходной форме.
В нашем приложении мы используем оба способа открытия окон форм.
Для закрытия окна можно также применять два метода – Hide() и Close(). Первый из этих методов скрывает форму, второй закрывает. Для диалоговых окон можно применять как метод Hide(), так и метод Close(): эффект будет одинаков – диалоговое окно будет закрыто.
Метод Hide() можно применять и для немодальных форм, открытых методом Show(). Окно, открытое не для диалога, можно временно скрыть, вызвав метод Hide(), а затем показать, вызвав метод Show().
Еще одно замечание, связанное с закрытием форм. Когда закрывается главная форма, закрываются все открытые к этому времени формы и приложение заканчивает свою работу. Когда же закрывается любая другая форма, закрывается только эта форма, остальные формы остаются открытыми.
Дата добавления: 2018-11-25; просмотров: 496;