Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная графика, мультимедиа и игры на Vis...doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.92 Mб
Скачать

Глава 3. Методика разработки приложений на нескольких формах

Листинг 3.1. Метод Button1_Click с нашим кодом для первой формы.

private void Button1_Click(object sender, EventArgs e)

{

double A, B;

A = Convert.ToDouble(textBox1.Text);

B = Convert.ToDouble(textBox2.Text);

Form2 myForm2 = new Form2();

myForm2.C = A;

myForm2.D = B;

myForm2.Show();

}

Листинг 3.2. Строка и метод Button1_Click с нашим кодом для Form2.

public double C, D;

private void Button2_Click(object sender, EventArgs e)

{

double F, G;

F = C;

G = D;

textBox1.Text = F.ToString();

textBox2.Text = G.ToString();

textBox3.Text = (F * G).ToString();

}

Листинг 3.3. Код для бегущего слева – направо заголовка.

//Объявляем и обнуляем глобальную переменную:

int i = 0;

private void timer1_Tick(object sender, EventArgs e)

{

//Записываем текст заголовка в переменную myString:

string myString = "Калькулятор2_2 (Calculator2_2) ";

//Справа - налево появляется i-я буква заголовка:

this.Text = myString.Substring(0,i);

//Организовываем цикл вывода следующей i-й буквы:

i = i + 1;

if (i == myString.Length)

i = 1;

}

Листинг 3.4. Код для бегущего справа – налево заголовка.

//Объявляем глобальную переменную myString

//и записываем в нее текст заголовка:

public static string myString =

"Калькулятор2_2 (Calculator2_2). Форма2 (Form2) ";

//Объявляем глобальную переменную i

//и приравниваем ее значение числу знаков заголовка:

int i = myString.Length;

private void timer1_Tick(object sender, EventArgs e)

{

//Слева - направо удаляется одна i-я буква заголовка:

this.Text = myString.Substring(0,i);

//Организовываем цикл удаления

//следующей i-й буквы заголовка:

i = i - 1;

if (i == -1)

i = myString.Length;

}

Часть II. Методология проектирования графики и печати на принтере Глава 4. Краткие сведения о графических возможностях Visual Studio

Вторая особенность заключается в том, что график строится не в действительных значениях переменных для функции y = f (x), которые рассчитает программа, а в пикселях. Напомним, что пиксель – это отдельная точка графического изображения, наименьшая адресуемая единица. Число пикселей, появляющихся на экране, различно для различных мониторов, и для конкретного монитора может быть установлено или изменено пользователем (в определенных пределах). Обозначения некоторых пикселей показаны на рис. 4.5.

Когда мы хотим использовать GDI+, чтобы провести линию, прямоугольник или кривую, мы должны задать некоторую ключевую информацию о графическом объекте, который будет выведен. Например, мы можем определить линию, задавая две точки, или прямоугольник, задавая толщину линии, высоту и ширину. GDI+ работает вместе с драйвером монитора, чтобы определить, какие пиксели должны быть включены для отображения заданного графического объекта. На рис. 4.6 показаны пиксели, которые включены для отображения прямой линии AB от точки A(4; 2) до точки B(12; 8).

Поэтому мы должны подобрать масштабы (выполнить масштабирование) для перевода действительных значений переменных в пиксели с целью увеличения (или уменьшения) размеров графика таким образом, чтобы он был виден на экране.

В справке Visual Studio подробно описаны классы GDI+ и даны простые примеры программ для реализации их графических возможностей.

В данной части книги мы дадим примеры программ средней сложности для практического применения графики при помощи некоторых основных классов.

Сложные примеры мы разработаем далее (идя от простого к сложному).

Начнем строить фигуры средней сложности при помощи GDI+ и печатать эти фигуры на принтере.