Главная страница

5 лекция Шигрин Алексей. Лекция Цель задания Создание многооконного приложения


Скачать 156.11 Kb.
НазваниеЛекция Цель задания Создание многооконного приложения
Дата21.12.2022
Размер156.11 Kb.
Формат файлаdocx
Имя файла5 лекция Шигрин Алексей.docx
ТипЛекция
#856411

Лекция 5.

Цель задания: Создание МНОГООКОННОГО ПРИЛОЖЕНИЯ

Form1.

Код:

namespace WindowsFormsApplication2

{

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();

}
}

}

Скриншот приложения:



Form2.

Код:

namespace WindowsFormsApplication2

{

public partial class Form2 : Form

{

public static int i, j;

public static string kop;

public Form2()

{

InitializeComponent();

}
private void button1_Click(object sender, EventArgs e)

{

for (i = 0; i < 6; i++)

{

dataGridView1.Rows.Add();

for (j = 0; j < 6; j++)

{

dataGridView1.Rows[i].Cells[j].Value = Form1.a[i, j].ToString();

}

if (Form1.a[i, 4] == 0) dataGridView1.Rows[i].Cells[4].Value =

"Прямоугольник";

else dataGridView1.Rows[i].Cells[4].Value = "Квадрат";

}

}

private void button2_Click(object sender, EventArgs e)

{

Close();

}

private void button3_Click(object sender, EventArgs e)

{

string elem = "";

bool ok;

int k;

for (i = 0; i < 6; i++)

for (j = 0; j < 4; j++)

{

do

{

ok = true;

try

{

elem = dataGridView1.Rows[i].Cells[j].Value.ToString();

Form1.a[i, j] = int.Parse(elem);

}

catch (Exception any)

{

Form5 f5 = new Form5();

if (f5.ShowDialog() == DialogResult.OK) k = 0;

dataGridView1.Rows[i].Cells[j].Value = kop;

ok = false;

}

} while (!ok);

}

for (i = 0; i < 6; i++)

{

if (Math.Abs(Form1.a[i, 0] - Form1.a[i, 2]) == Math.Abs(Form1.a[i, 1] - Form1.a[i, 3])) Form1.a[i, 4] = 1;

else Form1.a[i, 4] = 0;

Form1.a[i, 5] = Math.Abs(Form1.a[i, 0] - Form1.a[i, 2]) * Math.Abs(Form1.a[i, 1] - Form1.a[i, 3]);

}

dataGridView1.Columns.Clear();

DataGridViewColumn column;

for (int i = 0; i < 6; i++)

{

column = new DataGridViewTextBoxColumn();

column.DataPropertyName = "Column" + i.ToString();

column.Name = "Column" + i.ToString();

dataGridView1.Columns.Add(column);

}

}

}
}
Скриншот приложения:



При нажатии кнопки создания массива:





Form 3.

Код:

namespace WindowsFormsApplication2

{

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);

}

}

}

}

Скриншот приложения:



Form4.

Код:

namespace WindowsFormsApplication2

{

public partial class Form4 : Form

{

public Form4()

{

InitializeComponent();

}
private void button1_Click(object sender, EventArgs e)

{

Close();

}

}

Скриншот программы:



Form 5.

Код:

namespace WindowsFormsApplication2

{

public partial class Form5 : Form

{

public Form5()

{

InitializeComponent();

label1.Text = "a[" + Form2.i.ToString() + "," + Form2.j.ToString() + "]= ?";
}

private void button1_Click(object sender, EventArgs e)

{

Form2.kop = textBox1.Text;

Close();

}


}

}

Скриншот программы:



Вывод: Мы научились создавать многооконные приложения с помощью форм, а так же связывать их посредством кнопок button.

Вопросы для Самопроверки.

  1. Multiple Document Interface — тип графического интерфейса в компьютерной отрасли. MDI — проприетарный формат Microsoft для хранения растровых изображений.

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

  3. Image

  4. ПКМ > Add > Windows Form

  5. Project > Add Windows Form

  6. Диало́говое окно́ (англ. dialog box) в графическом пользовательском интерфейсе — специальный элемент интерфейса, окно, предназначенное для вывода информации и (или) получения ответа от пользователя.

Мода́льное окно́ в графическом интерфейсе пользователя — окно, которое блокирует работу пользователя с родительским приложением до тех пор, пока пользователь это окно не закроет.

7. Form.Show();

8. Rslt = Form.ShowDialog();

9. Переход на 5ую форму

10. dataGridView


написать администратору сайта