Скрыть одну форму и показать другую - PascalABC.NET
Формулировка задачи:
Пытаюсь чтобы на кнопку одна форма скрылась, а вторая открылась (формы сделаны с помощью графического интерфейса).
(unit1.form1 должна скрыться, а unit2.form1.показаться), но вылезает такая ошибка скрин, что делать?
Скрин:
Файл проекта:
Файл 1-ой формы:
Файл 2-ой формы:
Листинг программы
- uses Unit1, Unit2;
- begin
- System.Windows.Forms.Application.EnableVisualStyles();
- System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
- System.Windows.Forms.Application.Run(new Form1)
- end.
Листинг программы
- Unit Unit1;
- interface
- uses System, unit2, System.Drawing, System.Windows.Forms;
- type
- Form1 = class(Form)
- procedure button1_Click(sender: Object; e: EventArgs);
- {$region FormDesigner}
- private
- {$resource Unit1.Form1.resources}
- button1: Button;
- {$include Unit1.Form1.inc}
- {$endregion FormDesigner}
- public
- constructor;
- begin
- InitializeComponent;
- end;
- end;
- implementation
- procedure Form1.button1_Click(sender: Object; e: EventArgs);
- begin
- unit1.form1.hide; //здесь вылазит ошибка
- unit2.form1.show; //здесь вылазит ошибка
- end;
- end.
Листинг программы
- Unit Unit2;
- interface
- uses System, System.Drawing, System.Windows.Forms;
- type
- Form1 = class(Form)
- {$region FormDesigner}
- private
- {$resource Unit2.Form1.resources}
- {$include Unit2.Form1.inc}
- {$endregion FormDesigner}
- public
- constructor;
- begin
- InitializeComponent;
- end;
- end;
- implementation
- end.
Решение задачи: «Скрыть одну форму и показать другую»
textual
Листинг программы
- {$apptype windows}
- {$reference System.Windows.Forms.dll}
- uses
- System.Text,
- System,
- System.Windows.Forms,
- System.Net;
- var
- myButton1,myButton2,myButton3: Button;
- myForm1 := new Form;
- myForm2 := new Form;
- procedure MyButton1Click (sender: Object; e: EventArgs);
- begin
- myForm1.Hide;
- myForm2.Show;
- end;
- procedure MyButton2Click (sender: Object; e: EventArgs);
- begin
- myForm2.Hide;
- myForm1.Show;
- end;
- procedure MyButton3Click (sender: Object; e: EventArgs);
- begin
- myForm1.Close
- end;
- begin
- myButton1 := new Button;
- myButton1.Text := 'Перейти на форму 2';
- myButton1.AutoSize := True;
- myButton1.Left := 60;
- myButton1.Top := 50;
- myButton1.Width := 150;
- myButton2 := new Button;
- myButton2.Text := 'Перейти на форму 1';
- myButton2.AutoSize := True;
- myButton2.Left := 60;
- myButton2.Top := 50;
- myButton2.Width := 150;
- myButton3 := new Button;
- myButton3.Text := 'Завершить работу';
- myButton3.AutoSize := True;
- myButton3.Left := 60;
- myButton3.Top := 150;
- myButton3.Width := 150;
- myForm1.Text:='Form1';
- myForm2.Text:='Form2';
- myForm1.Controls.Add(myButton1);
- myForm1.Controls.Add(myButton3);
- myForm2.Controls.Add(myButton2);
- myButton1.Click += myButton1Click;
- myButton2.Click += myButton2Click;
- myButton3.Click += myButton3Click;
- Application.Run(myForm1);
- end.
Объяснение кода листинга программы
- Объявлены переменные myButton1, myButton2, myButton3 типа Button.
- Создана форма myForm1 и myForm2.
- Определены процедуры обработчики событий кликов по кнопкам myButton1, myButton2, myButton3.
- В обработчике события клика по myButton1 выполняется myForm1.Hide (скрыть myForm1) и myForm2.Show (показать myForm2).
- В обработчике события клика по myButton2 выполняется myForm2.Hide (скрыть myForm2) и myForm1.Show (показать myForm1).
- В обработчике события клика по myButton3 выполняется myForm1.Close (закрыть myForm1).
- Создаются кнопки с указанными текстами и свойствами.
- Кнопки добавляются на соответствующие формы.
- Обработчики событий клика по кнопкам привязываются к процедурам myButton1Click, myButton2Click, myButton3Click.
- Запускается приложение с формой myForm1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д