Просмотр данных средствами ADO.NET с привязкой на этапе выполнения
Построение главной формы
В данной работе мы рассмотрим несколько методов подключения к данным и удобно каждый способ разместить в отдельной форме. Но чтобы приложение выглядело связным, введем главную форму, из которой будем вызывать выполнение нужной нам той или иной формы.
Мы уже создали одну форму и сейчас она является главной. Форма поддерживается классом Form1, наследником базового библиотечного класса System.Windows.Forms.Form, и имеет заголовок
public class Form1 : System.Windows.Forms.Form
Наша задача - добавить к проекту новую форму с классом Form0 и перенести туда точку входа из класса Form1.
- В панели Solution Explorer щелкните правой кнопкой мыши на узле проекта и выполните команду Add/Add Windows Form
- В появившемся окне мастера введите имя формы Form0.cs и мастер создаст новую форму с классом Form0.
- Перенесите (вырезать в одном и вставить в другом) из класса Form1 в конец класса Form0 код, обеспечивающий точку входа в приложение
public class Form1 : System.Windows.Forms.Form { //................................................. /// /// The main entry point for the application. /// [STAThread] static void Main() { Application.Run(new Form1()); } //................................................. }// Конец класса Form1Листинг 8.2. Вырезаемый код точки входа из класса Form1
- Исправьте в функции Main() вызов формы с Form1() на Form0(), поскольку теперь она должна запускаться первой. После этого код класса Form0 должен выглядеть так
public class Form0 : System.Windows.Forms.Form { //.......................................... // Windows Form Designer generated code /// /// The main entry point for the application. /// [STAThread] static void Main() { Application.Run(new Form0()); } }Листинг 8.3. Теперь точка входа в классе Form0
- Поместите на форму Form0 кнопку Button и создайте для нее обработчик вызова формы Form1, которую мы создали первой и в которой реализовали динамическое подключение данных в список просмотра. Обработчик кнопки на форме Form0 должен быть таким
private void button1_Click(object sender, System.EventArgs e) { Form1 frm = new Form1(); frm.Show(); }Листинг 8.4. Обработчик кнопки для вызова Form1 из Form0
Извинение перед гипотетическим пользователем. Чтобы не отвлекаться от основной темы, мы с вами не станем делать в этом приложении механизм предотвращения многократного запуска формы при повторном щелчке на кнопке вызова.
- Разместите на Form0 рядом с кнопкой текстовую метку Label, поясняющую задачу, которую решает вызываемая ею кнопка. Содержимое свойства Text текстовой метки может быть таким:
Выборка данных с использованием объекта DataReader