button1.Enabled = false;

}

private void button2_Click(object sender, EventArgs e)

{ // ввод, вычисления и вывод результата

my. input();

my. obr();

my. output();

}

private void button3_Click(object sender, EventArgs e)

{

Close();

} } }

Примечания (относительно метода button1_Click):

До создания класса невозможны ввод данных и вычисления, поэтому кнопка вычислений заблокирована. Предусмотрена возможность создания лишь одного объекта типа Class1. Поэтому после его создания кнопка создания класса заблокируется. Возможны многократный ввод исходных данных и вычисления.

Разумеется, можно создать сколько угодно форм пользовательского интерфейса и передать их указатели в классы пользователя. Надеемся, что читатель справится с этим самостоятельно.

5.4. Создание форм в классах пользователя

Рассмотрим в этом разделе создание и открытие форм для ввода/вывода из самих классов пользователя. Для этого создадим три формы: одну для управления работы приложением и две для ввода/вывода. Они представлены на рис. 5.2 – 5.4.

Рис.5.2

Рис. 5.3.

Рис. 5.4

Классы пользователя:

namespace KlassVorm

{

public class cl_a

{

protected string s1;

protected int i;

public cl_a()

{

Form2 f2; //создание формы для ввода данных

f2=new Form2();

f2.ShowDialog();

s1=f2.textBox1.Text; // ввод исходных данных

i=Convert. ToInt32(f2.textBox2.Text);

} } }

namespace KlassVorm

{

public class cl_b : KlassVorm. cl_a

{

protected double x, z;

public cl_b()

{

Form3 f3; //создание формы для ввода данных

НЕ нашли? Не то? Что вы ищете?

f3=new Form3();

f3.ShowDialog();

x=Convert. ToDouble(f3.textBox1.Text);

}

public void compute()

{

z=i*x;

Form3 f3; // создание формы для вывода данных

f3=new Form3();

f3.textBox1.Text=s1;

f3.textBox2.Text=" "+z;

// сначала присвоение значений, потом открытие формы

f3.ShowDialog();

} } }

Примечание. Создание и открытие форм ввода данных не обязательно должно быть в конструкторе.

Реализации кнопок формы (рис. 5.2).

private void button3_Click(object sender, System. EventArgs e)

{

Close();

}

private void button1_Click(object sender, System. EventArgs e)

{ // создание класса, автоматический запуск двух конструкторов

c1=new cl_b();

}

private void button2_Click(object sender, System. EventArgs e)

{ //вычисления и вывод, запуск метода класса

c1.compute();

}

В разделе переменных формы должно быть объявление cl_b c1;

Контрольные вопросы

1. Проанализируйте преимущества и недостатки описанных выше способов организации взаимодействия классов пользователя и интерфейсов.

2. В какой последовательности следует создавать объектно-ориентированные программы с интерфейсом в виде окон Windows?

Заключение

В настоящем учебном пособии Вы ознакомились с основными компонентами нового языка программирования C# и работой в среде Microsoft Visual Studio 2005. Автор надеется, что полученные начальные знания позволят Вам успешно усовершенствоваться с помощью специальной литературы, которой с каждым днем становится все больше и больше!

Библиографический список

1.  Программирование на C++/C# в Visual 2003. – СПб.: БХВ – Петербург, 2004. – 352 с.

2.  C#: учебный курс. – СПб.: Питер. 2003. – 512 с.

3.  Самоучитель Visual 2003. – СПб.: БХВ – Петербург, 2003. – 688 с.

4.  Полный справочник по С#. — М.: Издательский дом «Вильямс», 2004. — 752 с.

5.  С# в кратком изложении. — М.: БИНОМ, 2005. — 472 с.

6.  С# для профессионалов. В 2 т. – М.: ЛОРИ, 2005. (Серия «Программист–программисту»).

7.  С#. – М.: ЛОРИ, 2005. – 879 с.

Учебное издание

Маран Михкель Михкелевич

Программирование на языке C# в среде Microsoft Visual Studio 2005

Учебное пособие

по курсу

«Системное и прикладное программное обеспечение» для студентов, обучающихся по направлениям «Прикладная математика и информатика» и «Информатика и вычислительная техника».

Редактор издательства

Темплан издания МЭИ 2006 (II), учебн. Подписано к печати

Печать офсетная Формат 60х84/16 Физ. печ. л. 5,75 Тираж 100 Изд. № 000 Заказ Цена 17 руб. 25 коп.

Издательство МЭИ, 111250, Москва, Красноказарменная ул., д. 14

Отпечатано в типографии НИИ «Геодезия», 141292, Московская обл.,

г. Красноармейск, просп. Испытателей, д. 14.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14