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

Передать текст из класса форме

04.01.2012, 21:24. Показов 3670. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему не могу передать текст из класса форме? SI - название одной из форм.
C#
1
2
SI SSI = new SI();
                SSI.textBox1.Text = "Работает";
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.01.2012, 21:24
Ответы с готовыми решениями:

Не изменяется текст метки в главной форме из другого класса
Цель - изменить на главной форме значение текста в текстовой метке, находясь в другом классе. Сделал так, в коде основной формы...

Передать данные из класса форме
Всем доброго времени суток. Возникла проблема при работе с классом: из главной формы запускаю событие в классе: Class1 C1 = new...

На второй форме заполнить Edit и передать его текст на первую форму
Есть 2 формы, Form1 и Form2. На Form1 есть Edit1. На Form2 есть Label1. Подскажите пожалуйста, как сделать, чтобы при нажитии кнопки на...

11
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
04.01.2012, 21:43
В конструктор передавай:
C#
1
SI SSI = new SI("Работает");
А в нем уже присваивай значение текстовому полю.

Цитата Сообщение от MaximusSM Посмотреть сообщение
Почему не могу передать текст из класса форме?
По умолчанию textBox1 помечен как private.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
04.01.2012, 22:26
У вас как-то все наоборот получается.
Не класс должен форме текст передавать, а форма должна текст из класса доставать для отображения.
У вас же метод Convert.ToString не просит ссылку на форму или контрол, в который ему надо вставить результат конвертирования.
0
6 / 6 / 3
Регистрация: 13.05.2011
Сообщений: 146
05.01.2012, 18:37  [ТС]
Blood-Angel

Можно подробнее?
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
05.01.2012, 19:17
C#
1
2
3
4
5
6
7
8
9
10
11
public partial class SI: Form
{
    // ...
 
    public SI(string value)
    {
        textBox1.Text = value;
    }
 
    // ...
}
Еще более подробнее и не придумать.
1
6 / 6 / 3
Регистрация: 13.05.2011
Сообщений: 146
05.01.2012, 21:23  [ТС]
не работает, прикрепил проект, в чем ошибка?
Вложения
Тип файла: rar 1.rar (38.0 Кб, 11 просмотров)
0
 Аватар для KarmaMaker
91 / 90 / 11
Регистрация: 09.12.2011
Сообщений: 233
05.01.2012, 21:42
Передача текста от объекта форме

А вообще kolorotur прав:

Не класс должен форме текст передавать, а форма должна текст из класса доставать для отображения.
Добавлено через 2 минуты
Ну или так
1
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
05.01.2012, 21:58
Цитата Сообщение от MaximusSM Посмотреть сообщение
не работает, прикрепил проект, в чем ошибка?
Там вообще непонятно что. Думаю подразумевалось это:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        public void SetTextToTextBox(string value)
        {
            textBox1.Text = value;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Class1 cl = new Class1();
            cl.Text = "Я текст из класса";
            SetTextToTextBox(cl.Text);
        }
    }
C#
1
2
3
4
    class Class1
    {
        public string Text { get; set; }
    }
Добавлено через 4 минуты
Хотя метод SetTextToTextBox больше подходит для установки значения текстовому полю на форме из другой формы или класса.
0
 Аватар для KarmaMaker
91 / 90 / 11
Регистрация: 09.12.2011
Сообщений: 233
05.01.2012, 22:03
Там вообще непонятно что. Думаю подразумевалось это:
Неа, насолько я понял, наоборот MaximusSM хочет послать сообщение из объекта созданного в форме этой форме.
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
05.01.2012, 22:06
Цитата Сообщение от KarmaMaker Посмотреть сообщение
Неа, насолько я понял, наоборот MaximusSM хочет послать сообщение из объекта созданного в форме этой форме.
Ну тогда в объект надо передавать ссылку на форму, либо на текстовое поле, либо делегат ссылающийся на метод SetTextToTextBox, только это как-то не правильно мне кажется.
0
6 / 6 / 3
Регистрация: 13.05.2011
Сообщений: 146
05.01.2012, 23:12  [ТС]
Цитата Сообщение от Casper-SC Посмотреть сообщение
Ну тогда в объект надо передавать ссылку на форму, либо на текстовое поле, либо делегат ссылающийся на метод SetTextToTextBox, только это как-то не правильно мне кажется.
Мой класс с задержкой выполняет разные функции, о выполнении которых нужно сообщить в ТехtBox, который находится на форме, которая запускает класс. Читал что изменение private TextBox на public поможет разрешить вопрос, но проект делается в WPF с использованием библиотек WinForm, в котором я не нашел как поменять значение private на public у TextBox. Подкиньте работающий пример или другой способ передать данные в TextBox
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
05.01.2012, 23:34
В окне только текстбокс и всё.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Action<string> updateTextBox = new Action<string>((text) =>
            {
                if (!textBox1.CheckAccess())
                {
                    textBox1.Dispatcher.Invoke(new Action(() =>
                    {
                        textBox1.Text = text;
                    }));
                }
                else
                    textBox1.Text = text;
            });
            SomeClass sc = new SomeClass(updateTextBox);
        }
    }
C#
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
26
27
28
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Timers;
 
namespace WpfApplication1
{
    public class SomeClass
    {
        int _counter;
        Timer _timer;
        Action<string> UpdateInfo;
 
        public SomeClass(Action<string> action)
        {
            UpdateInfo = action;
            _timer = new Timer(1000);
            _timer.Elapsed += new ElapsedEventHandler(Timer_Elapsed);
            _timer.Start();
        }
 
        void Timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            UpdateInfo((_counter++).ToString());
        }
    }
}
Добавлено через 32 секунды
Сейчас ещё вариант скину

Добавлено через 2 минуты
Или так:
C#
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
26
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Action<string> updateTextBox = new Action<string>(SetText);
            SomeClass sc = new SomeClass(updateTextBox);
        }
 
        public void SetText(string text)
        {
            if (!textBox1.CheckAccess())
            {
                textBox1.Dispatcher.Invoke(new Action(() =>
                {
                    textBox1.Text = text;
                }));
            }
            else
                textBox1.Text = text;
        }
    }
Добавлено через 1 минуту
Ну или в объявлении сделай даже так (как тебе читабельнее, так и пиши):
C#
1
2
3
4
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            SomeClass sc = new SomeClass(new Action<string>(SetText));
        }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.01.2012, 23:34
Помогаю со студенческими работами здесь

Как передать значение какого-нибудь свойства объектов созданного мною класса в одной форме в другую форму?
В одной форме я создал класс и массив объектов данного класса. class TFigure { private: int Fi; int Fj; String FTip; ...

Передать данные одного обьекта класса в другой обьект на другой форме
Здравствуйте прочитал вот это https://www.cyberforum.ru/windows-forms/thread110436.html но так и не понял как передать данные одного...

Есть два класса необходимо передать из одного класса информацию в другую
Есть два класса, class entiti { public: test* emap; }; class test { public:

Как вместо ссылки на экземпляр класса передать поле класса?
Делаю свою шаблонную функцию для свойств с событиями, при обращении к таким свойствам приходится писать что то похожее на: public...

Как передать входящее значение одного метода класса на возврат в другой метод того же класса?
Я самый новейший новичок. Помогите.Как передать входящее значение (количество еды) метода feed класса Cat на возврат(return) в метод...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru