Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Медведев_С++_CLI_C#_Java_J#.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

10.9. Дочерние окна

При необходимости можно создать дополнительно к прикладному окну

(основной форме или фрейму) другие окна, называемые дочерними окнами

(дочерними формами или фреймами). На рисунках 10.9.1 и 10.9.2 изображе-

ны основное и дочернее окна приложений, программы которых приведены в

примерах 10.9.1 и 10.9.2. Основное окно отображает российский флаг, а при

нажатии на клавишу мыши в нем отображается слово, введённое в редактор,

размещённый в дочернем окне. При нажатии на кнопку дочернего окна из-

меняется цвет выведенной строки. Примеры 10.9.1 и 10.9.2 включают только

дополнения к программам примеров 10.8.1 и 10.8.2. В примере 10.9.3 про-

грамма реализована на языке C++/CLI.

Пример 10.9.1. Программа с дочерними окнами на языке C#.

////////////////////

/ / c #

// Изменения файла примера 10.8.1

public class CTwoForms : Form // Класс прикладного окна (основной формы)

{

Form childForm; // Дочерняя форма

TextBox ourTextBox; // Редактор

Button ourButton; // Кнопка

Point point; // Координаты начала строки

Color [] coiors ; // Массив цветов

Int n; // Индекс массива colors

public CTwoForms ( ) // Конструктор

{

Text= "Two forms"; // Установить заголовок прикладного окна

ourTextBox= new TextBox (); // Создать редактор и

ourTextBox.Location= new Point (10, 120);// разместить его

ourTextBox.Size= new Size (150, 20); // с размером

ourTextBox.Text= "Russia"; // Установить текст в редакторе

ourButton= new Button (); // Создать кнопку и

ourButton.Location= new Point (170, 10); // разместить её

ourButton.Size= new Size (40, 20); // с размером

ourButton.Name= "cmdButton"; // Установить имя кнопки

ourButton.Text= "OK"; // Установить текст в кнопке

// Подписать обработчик на событие Click кнопки

ourButton.Click+= new System.EventHandler(cmdButton_Click);

// Подписать обработчик на событие MouseDown мыши

MouseDown += new MouseEventHandler (OurMouseDown);

n= 0;

polnt.X= 100; point.Y= 100; // Установить координаты строки

colors= new Color [3];

colors [0]= Color.FromArgb (220, 220, 220); // Серый цвет

colors [1]= Color.FromArgb (0, 0, 255); // Синий цвет

colors [2]= Color.FromArgb (255, 0, 0); // Красный цвет

ch!ldForm= new Form ( ); // Создать дочернюю форму и

childForm.Location= new Point (250, 10); // разместить

childForm.Size= new Size (250, 250); // с размером

childForm.Text= "ChildForm"; // Установить заголовок

chiIdForm.Show ( ); // Отобразить на экране

childForm.Controls.Add (ourTextBox); // Добавить редактор

childForm.Controls.Add (ourButton); // Добавить кнопку

}

static void Main ( ) || Главная функция

{

Application.Run(new CTwoForms ( )); || Выполнить

>

>

C#. Программа примера 10.9.1 изменила приложение примера 10.8.1, допол-

нив его дочерним окном.

В классе CTwoForms прикладного окна объявлена ссылка childForm на до-

чернее окно типа Form. Конструктор, используя оператор new и свойства Location,

Size и Text, создает объект дочернего окна в управляющей куче и до-

бавляет в коллекцию его управляющих элементов объект ourTextBox редак-

тора и объект ourButton кнопки. Теперь текстовый редактор и кнопка появят-

ся не в прикладном, а в дочернем окне.

Рис. 10.9.1. Прикладное окно приложения примера 10.9.1 сдвумя формами и

с консолью на языке C#

Пример 10.9.2. Программа с дочерними окнами на языке Java(J#).

////////////////////

// Java и J#

// Изменения файла примера 10.8.2