Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141

Связать переменную из новой формы со старым классом

07.03.2011, 19:47. Показов 3983. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
т.е. есть класс, с ним я создал объект класса. Все это проделывал в рамках одной формы.

Создал другую форму, и надо связать переменную из новой формы со старым классом.
Как это делается? Переменную как статик объявлять? Или как вообще тут поступить надо?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.03.2011, 19:47
Ответы с готовыми решениями:

Как правильно связать класс формы с классом отрисовки?
Есть класс формы: Field.h #ifndef FIELD_H #define FIELD_H #include <QWidget> namespace Ui { class Field;

Совместимость новой видеокарты со старым железом
Здравствуйте. Решил я обновить свой старенький пк, хотел бы узнать будет ли работать видеокарта gtx 950 на старом железе материнка intel...

Совместимость новой видеокарты со старым железом - Апгрейд компьютера
Всех приветствую! Помогите, пожалуйста, разобраться, так как моих познаний не хватило: Купил новую видеокарту (GTX 1050 3gb), вставил,...

12
 Аватар для Neser
93 / 93 / 19
Регистрация: 25.12.2010
Сообщений: 316
07.03.2011, 19:51
Передайте екземпляр вашего класса в конструктор второй формы.
0
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141
07.03.2011, 20:01  [ТС]
Form frm2 = new Form2(this);

вроде так мне прошлый раз показывали. Оно?

Не понятно, this- это что я передаю в данном случае?
0
 Аватар для Neser
93 / 93 / 19
Регистрация: 25.12.2010
Сообщений: 316
07.03.2011, 20:34
Ето вы передаете ссылку на обьект формы первой, насколько можно судить с етого кода.
0
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141
07.03.2011, 20:50  [ТС]
просто не могу сообразить, как это сделать- Передать экземпляр вашего класса в конструктор второй формы.

Этот кусок кода из Вашего примера прошлого про меню стрип.
0
 Аватар для Neser
93 / 93 / 19
Регистрация: 25.12.2010
Сообщений: 316
07.03.2011, 20:54
Например
C#
1
2
3
Class1 class = new Class1();//ето ваш класс
Form2 form2 = new Form2(class);
form2.Show();
1
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141
07.03.2011, 21:07  [ТС]
т.е. в качестве аргумента во вторую форму передаю сам экземпляр класса?
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
07.03.2011, 21:17
Ты напиши напиши более понятно, что ты хочешь сделать. Я понял так:
Есть класс. Ты создал объект класса в коде скажем Form1. Тебе надо передать ссылку на ранее созданный объект класса Class в Form2? Если да, то:
C#
1
2
3
4
5
6
7
8
9
10
    public partial class Form1 : Form
    {
        Class cls = new Class();
        Form2 form2;
        public Form1()
        {
            InitializeComponent();
            form2 = new Form2(cls);
        }
    }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    public partial class Form2 : Form
    {
        Class class1; 
        public Form2()
        {
            InitializeComponent();
        }
 
        public Form2(Class cls) 
            : this() //вызываем сначала конструктор без параметров
        {
            this.class1 = cls; 
        }
    }
1
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141
07.03.2011, 23:17  [ТС]
подробно- есть класс, в нем есть переменная.

создаю объект этого класса в форме 1.

Теперь я из меню формы 1 вызвал форму 2, где хочу в текстбоксе изменить эту переменную. т.е. ту переменную, что использует мой объект класса.

Как-то так. Ваш код сверху- это мой случай?
Пока разбираюсь. У меня с этим моментом немного пробел...

C#
1
form2 = new Form2(cls);
в первом коде.
Вот этим мы что делаем? Логически связываем две формы? Здесь не догоняю.
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
08.03.2011, 00:31
Это мы передаём ссылку на тот экземпляр класса (объект). А внутри второй формы есть ссылка, которая в конструкторе формы 2 получает ссылку на созданный объект в первой форме. Потом в форме 2 можно обращаться к переменной в том классе. Сейчас напишу и скину пример тебе.
0
 Аватар для ][irurg
181 / 180 / 38
Регистрация: 16.06.2010
Сообщений: 511
08.03.2011, 00:33
Цитата Сообщение от metcenger Посмотреть сообщение
form2 = new Form2(cls);
во вторую форму передаешь ссылку на экземпляр своего класса(Class)
не успел , пардонте
1
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
08.03.2011, 00:45
Вот посмотри проект. Там как раз то, что тебе и нужно, как я понял. Но это не единственный способ. В проекте получается, что обе формы ссылаются на один и тот же объект. Во второй форме ты изменяешь значение переменной в этом объекте, а в первой потом уже (после закрытия второй формы) показываешь изменённое значение того класса.
Вложения
Тип файла: rar WinForms_TwoForms.rar (19.0 Кб, 86 просмотров)
1
1 / 1 / 0
Регистрация: 20.02.2011
Сообщений: 141
08.03.2011, 00:54  [ТС]
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.03.2011, 00:54
Помогаю со студенческими работами здесь

Совместимость новой видеокарты со старым железом - Апгрейд компьютера
Надо обновить видеокарту, но моих скудных знаний не хватает для определения совместимости, а онлайн конфигураторы не работают с...

Как связать DrawingVisual с пользовательским классом?
Добрый вечер. Есть пользовательский класс, содержащий список узлов графа Nodes (также в классе содержится список ветвей и прочее......

Создание подкласса с движением слона и пешки и связать их с классом доски
Вот все что у меня есть,но не хватает класса с движением пешки и коня(фигуры по описанию пока одинаковые), на доске.

Связать переменную
Проект MFC. Есть меню, по нажатии кнопки открыть открывается диалоговое окно. В диалоге есть EDIT к которому привязана переменная. Я...

Как связать переменную?
Какими способами можно связать переменную "a" за пределами if? private void button1_Click(object sender,...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru