powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Взаимодействие классов
3 сообщений из 3, страница 1 из 1
Взаимодействие классов
    #36350191
Ringnarr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Столкнулся с такой проблемой. Пишется приложение WinForms на С#. Есть основной класс:
Код: plaintext
1.
2.
3.
4.
5.
6.
partial class A
    {
         ......
         ......
        public System.Windows.Forms.TextBox textBox1;
       
    }
И второй класс:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
class B
    {
      ....

       public void func()
     {
       ...
       textBox1.Text = textBox1.Text + "Текст пользователя. \r\n";
       ....
     }

    }

Функция класса В отказывается понимать textBox1.Text. Как я понимаю тут нужно как-то объявить связь между классами. Я понимаю что вопрос абсолютно глупый, но как все таки это сделать на C#?
...
Рейтинг: 0 / 0
Взаимодействие классов
    #36350234
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже на антипаттерн. Постарайтесь понять как пишется подобный функционал для WinForms приложений в общем случае. Похоже что class A - это форма, а класс B - это рабочий (worker) класс. Я - бы сконструировал объект B после инициализации всех контролов формы с передачей ему ссылки на A. Как это сделать для WinForms приложения, я чесно говря не знаю т.к. давно не писал на C#.
...
Рейтинг: 0 / 0
Взаимодействие классов
    #36350342
чур меня...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ringnarr,
Информации мало как - то, но рискну предположить, что вы просто с нижеследующим кодом затрудняетесь - который mayton вам описал:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
partial class A
{
        ......
        ......
        private TextBox textBox1 = new TextBox();
        public String Txt
        {
            get { return this.textBox1.Text; }
            set { this.textBox1.Text = value; }
        }
        
}

class B
    {
        public B(A val) { this.m_val = val; }

        private A m_val;

        public void func()
        {
            this.m_val.Txt += "ну и конченый же язык - этот си шарп\n";
        }

    }

Судя по вашему вопросу - вам букварь какой - нибудь нужен по си шарп прочитать.


Также, есть еще возможность, что вы пытаетесь изменить текст из другого потока - что естественно вам не удается в таком виде - в связи с однопотоковыми апартаментами виндозного приложения - тоже может быть.
Вы поконкретней как - нить бы..
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Взаимодействие классов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]