Как открыть форму по кнопке c
Перейти к содержимому

Как открыть форму по кнопке c

  • автор:

По нажатию кнопки на первой форме показать вторую

По нажатию кнопки на второй форме закрыть ее и показать первую
Есть 2 формы. На второй форме есть кнопка. нужно, чтобы при нажатии на эту кнопку эта же, то есть.

Запуск таймера на второй форме по нажатию кнопки на первой
Добрый день, столкнулся с проблемой, имеются 2 формы, нужно что бы таймер запускался во второй.

Как нажатием кнопки на первой форме открыть для работы вторую форму?
C# Windows Forms как нажатием кнопки на 1 ой форме открыть для работы 2ою форму?т.е к примеру.

По нажатию кнопки во второй форме изменить свойства компонента в первой
Здравствуйте! есть 2 формы: Form1 и Form2 На 1 находится TextBox на 2 Button. Можно ли сделать.

532 / 434 / 142
Регистрация: 31.10.2011
Сообщений: 1,010

Лучший ответ

Сообщение было отмечено как решение

Решение

перенеси Button на 1ю форму, нажми 2 раза на нее, новом событии впиши строки, должно выглядеть так

1 2 3 4 5
private void button1_Click(object sender, EventArgs e) { Form2 newForm = new Form2(); newForm.Show(); }

Как открыть форму по кнопке c

Чтобы добавить еще одну форму в проект, нажмем на имя проекта в окне Solution Explorer (Обозреватель решений) правой кнопкой мыши и выберем Add(Добавить)->Windows Form.

добавление новой формы

Дадим новой форме какое-нибудь имя, например, Form2.cs:

создание новой формы

Итак, у нас в проект была добавлена вторая форма. Теперь попробуем осуществить взаимодействие между двумя формами. Допустим, первая форма по нажатию на кнопку будет вызывать вторую форму. Во-первых, добавим на первую форму Form1 кнопку и двойным щелчком по кнопке перейдем в файл кода. Итак, мы попадем в обработчик события нажатия кнопки, который создается по умолчанию после двойного щелчка по кнопке:

private void button1_Click(object sender, EventArgs e)

Теперь добавим в него код вызова второй формы. У нас вторая форма называется Form2, поэтому сначала мы создаем объект данного класса, а потом для его отображения на экране вызываем метод Show:

private void button1_Click(object sender, EventArgs e)

Теперь сделаем наоборот — чтобы вторая форма воздействовала на первую. Пока вторая форма не знает о существовании первой. Чтобы это исправить, надо второй форме как-то передать сведения о первой форме. Для этого воспользуемся передачей ссылки на форму в конструкторе.

Итак перейдем ко второй форме и перейдем к ее коду — нажмем правой кнопкой мыши на форму и выберем View Code (Просмотр кода). Пока он пустой и содержит только конструктор. Поскольку C# поддерживает перегрузку методов, то мы можем создать несколько методов и конструкторов с разными параметрами и в зависимости от ситуации вызывать один из них. Итак, изменим файл кода второй формы на следующий:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace HelloApp < public partial class Form2 : Form < public Form2() < InitializeComponent(); >public Form2(Form1 f) < InitializeComponent(); f.BackColor = Color.Yellow; >> >

Фактически мы только добавили здесь новый конструктор public Form2(Form1 f) , в котором мы получаем первую форму и устанавливаем ее фон в желтый цвет. Теперь перейдем к коду первой формы, где мы вызывали вторую форму и изменим его на следующий:

private void button1_Click(object sender, EventArgs e)

Поскольку в данном случае ключевое слово this представляет ссылку на текущий объект — объект Form1, то при создании второй формы она будет получать ее (ссылку) и через нее управлять первой формой.

Теперь после нажатия на кнопку у нас будет создана вторая форма, которая сразу изменит цвет первой формы.

Мы можем также создавать объекты и текущей формы:

private void button1_Click(object sender, EventArgs e)

При работе с несколькими формами надо учитывать, что одна из них является главной — которая запускается первой в файле Program.cs. Если у нас одновременно открыта куча форм, то при закрытии главной закрывается все приложение и вместе с ним все остальные формы.

Вопрос по кнопке — Открыть форму.

My Visual Database → Russian → Вопрос по кнопке — Открыть форму.

Pages 1

You must login or register to post a reply

Posts: 6

1 Topic by Astra30 2017-07-19 08:11:04

Topic: Вопрос по кнопке — Открыть форму.

Здравствуйте! Есть два вопроса:

1. Почему, если первый раз открываешь «справочник» с помощью кнопки — «Открыть форму» данные таблиц заполняются, а если через процедуру:

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
Form2.Show;
Form2.PageControl1.ActivePageIndex := 2;
end;

, то таблицы пустые?
Но, если открыть «справочник» кнопкой — «Открыть форму», то после этого и через процедуру данные таблицы начинают выводиться?
Как сделать, что бы через при открытии через процедуру с первого раза выводились данные таблицы?

2. Если открыть форму первый раз, то она появляется пустая, а если до этого вводил в неё данные, то в следующий раз она открывается с заполненными до этого данными? Как сделать что бы форма всегда открывалась пустая?

Открытие новой формы по нажатию button на форме?

Оче тупой вопрос, как я понимаю.
Есть форма1, с тремя кнопками
При нажатии на button1 должно открыться новое окно, где пользователь сможет добавлять строки в таблицу/не добавлять, если нажатие кнопки было случайным
Пробовал через создание Form2 и открытии её при нажатии на кнопку, но чот не работает.

Я так понимаю, сперва

public partial class Form2 : Form < public basket() 

Далее в действии после нажатия кнопки
Form2.Load

Но может есть иные пути?

  • Вопрос задан более трёх лет назад
  • 676 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *