Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
4 / 4 / 3
Регистрация: 24.01.2013
Сообщений: 96

Как сделать доступ к переменной из Form2 в Form1?

10.06.2014, 16:26. Показов 3031. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Например: В Form1 есть 2 кнопки ( Input и Change );
1.Создаём Form2;
При нажатии на Input открывается Form2 в которой есть один CheckBox и Кнопка "ОК";
2.Нажимаем 2 раза на Input и пишем:
C#
1
2
Form2 frm = new Form2();
frm.Show();
Допустим у нас переменная G;
3. Нажимаем на кнопку "ОК" 2 раза и пишем:
C#
1
2
if (CheckBox1.Checked == true )
G=1;
4. Далее нажимаем на кнопку Change 2 раза и пишем:
C#
1
2
3
4
if (G==1)
MessageBox.Show("Галочка была поставлена");
else
MessageBox.Show("Галочка не была поставлена");
Как реализовать такую переменную которая будит и в Form1 и в Form2??
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.06.2014, 16:26
Ответы с готовыми решениями:

Как вывести значения переменной из Form2 в listBox на Form1?
Подскажите как вывести значение переменной типа string из Form2 в listBox который находится на Form1

Как по закрытии Form2 сделать определенное действие в Form1
Здравствуйте! Помогите пожалуйста, я новичок в ) Столкнулся с проблемой и не смог найти ответа на форумах. В кратце- есть 2 формы....

Передача переменной Form2 в Form1
Задача: Имеются две формы Form1 и Form2. Form2 вызывается из Form1, после выбора пользователя в Form2 форма должна передать переменную...

12
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
10.06.2014, 16:32
Что непонятно в этой теме? Ответы на 7 самых частых вопросов по WinForms
1
4 / 4 / 3
Регистрация: 24.01.2013
Сообщений: 96
10.06.2014, 16:38  [ТС]
Почему не выходит вот так:
C#
1
2
3
4
5
6
7
8
public void changeToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            int f = 0;
            Form2 frm = new Form2();
            if (frm.checkBox1.Checked == true)
                f = f + 1;
            MessageBox.Show("f = "+f);   
        }
Почему f всегда равно 0?
0
11 / 11 / 4
Регистрация: 09.07.2012
Сообщений: 70
10.06.2014, 16:39
зачем такая переменная!? просто передай с Формы2 в Форму1 в какой-то метод это значение...

Form1
C#
1
2
3
4
5
6
7
private void test1(string s)
        {
            Form2 f2 = new Form2();
            f2.f1 = this; // Установить ссылку
            f2.ShowDialog();
            MessageBox.Show(s);
        }
Form2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public partial class Form2 : Form
    {
        public Form1 f1; //Добавить ссылку на вызывающее окно
        public Form2()
        {
            InitializeComponent();
        }
 
        private void test2()
        {
            string st = "1";
            f1.test1(st);  //Использовать ссылку, установленную в вызывающем окне
         }
    }
2
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
11.06.2014, 01:05
Как сделать доступ к переменной из Form2 в Form1? / C# Windows Form
Все очень просто: нужно в форме 1 открыть переменную, напрмер, int n со свойством public
Без свойства public компиллятор не увидет n из формы 2

C#
1
2
3
4
5
6
7
8
9
10
11
Forms Code
{
 
       private void button1_Click(object sender, EventArgs e) // код в форме 2
       {
          Form1 f1 = new Form1();
           f1.n  = nn; // nn - переменная в форме 2
            f1.Show();
             this.Hide();
       }
}
0
191 / 50 / 10
Регистрация: 27.09.2013
Сообщений: 516
Записей в блоге: 4
11.06.2014, 01:14
zna926, а ничего, что это нарушение инкапсуляции?
0
11 / 11 / 4
Регистрация: 09.07.2012
Сообщений: 70
11.06.2014, 01:22
нуу... быдлокода нынче много, вот народ и извращается...
0
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
11.06.2014, 01:55
Artemka2008
Судьей тут может быть только компиллятор. Если он не возражает и код работает, то никаких сомнений.
0
4 / 4 / 3
Регистрация: 24.01.2013
Сообщений: 96
11.06.2014, 02:04  [ТС]
Как сделать например вот такую задачу:
В Form1 есть Кнопка(btn1), и в Form2 есть кнопка(btn2).
Нажимаем на кнопку btn1, открывается Form2. В Form2 нажимаем на btn2, Form2 закрывается, при этом в Form1 кнопка btn1 становится недоступной(btn1.Enabled == false).
0
191 / 50 / 10
Регистрация: 27.09.2013
Сообщений: 516
Записей в блоге: 4
11.06.2014, 02:23
zna926, Уважаемый, вы основы ООП знаете хоть?

Добавлено через 1 минуту
Dima1996, Вам Spawn уже указал на тему, которую вам следует изучить.
1
4 / 4 / 3
Регистрация: 24.01.2013
Сообщений: 96
11.06.2014, 02:54  [ТС]
Всем спасибо за помощь, разобрался.
0
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
11.06.2014, 15:14
artemka2008.
Я ответил на заданный на форуме вопрос.
А Вам зачем эти стрнные и ненужные вопросы. Мы ж не в суде. Я написал код, который всегда работает.
Приходилось открывать и 10 форм, передавать данные между ними и никаких сбоев не было.
0
11.06.2014, 16:34

Не по теме:

zna926, Все с вами понятно, случай тяжелый.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.06.2014, 16:34
Помогаю со студенческими работами здесь

Как сделать так чтобы Form2 появлялась ровно в том же месте где и Form1
Эту тему читал https://www.cyberforum.ru/windows-forms/thread248400.html Но ответы не помогли. Форма остается на том же месте. И что...

Объясните как сделать так что бы в Form2 можно было изменять свойства кнопок из Form1
Как сделать вот такую задачу: В Form1 есть Кнопка(btn1), и в Form2 есть кнопка(btn2). Нажимаем на кнопку btn1, открывается Form2. В...

Сделать так чтобы Form2 появлялась ровно в том же месте где и Form1
{ Form2 form = new Form2(); form.Show(); } как сделать так чтобы Form2 появлялась ровно в том же месте где и Form1?...

Через Form1 открывают Form2 там открывается Form3 которая меняет данные в Form1. Но они не меняются
В первой форме Main по нажатию кнопки вызываю другую форму private void Button_AddVetrina(object sender, EventArgs e) { ...

Как из form1 вызвать form2?
Здравствуйте, как из form1 вызвать form2? То есть 2ое окно.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru