Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
skilllab
198 / 172 / 48
Регистрация: 03.02.2011
Сообщений: 1,749
Записей в блоге: 1
Завершенные тесты: 1
#1

Обращение к контролам другой формы - C#/.NET 4.x

12.04.2013, 10:34. Просмотров 750. Ответов 6
Метки нет (Все метки)

Почему в VB.NET такая конструкция допустима:
vb.net
1
2
3
4
        Dim instance As New Form2()
        instance.Show()
        Dim TTT = instance.Label1.Text
        instance.Label1.Text = "&&&&&&&&&"
А в C# приходится пользоваться делегатами и статичными классами?

В С++ тоже можно просто получить указатель на чужую форму и обращаться к контролам напрямую.
Почему такой подход явно закрыли?
http://www.cyberforum.ru/csharp-beginners/thread380511.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2013, 10:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос .NET 4.x Обращение к контролам другой формы (C#):

Обращение к контролам по индексу
Здравствуйте форумчане, вопрос в следующем, есть контролл, например текстбокс,...

Обращение к компоненту другой формы
в общем есть форма Form1, из этой формы хочу обратится к компоненту textBox1...

обращение к списку List<Point> из другой формы
Подскажите пожалуйста где можно про это прочесть?

Как Получить доступ к контролам формы не из основного класса
Я создаю стандартную форму на которой у меня есть Textbox,объявляю класс...

Обращение к другой программе по сети
Здравствуйте. Не могу понять как мне сделать общение по сети между 2-мя...

6
turbanoff
Эксперт Java
4008 / 3743 / 739
Регистрация: 18.05.2010
Сообщений: 9,323
Записей в блоге: 11
Завершенные тесты: 1
12.04.2013, 14:18 #2
В c#, разумеется такое тоже возможно:
C#
1
2
3
4
Form2 instance = new Form2();
instance.Show();
string TTT = instance.Label1.Text;
instance.Label1.Text = "&&&&&&&&&";
0
skilllab
198 / 172 / 48
Регистрация: 03.02.2011
Сообщений: 1,749
Записей в блоге: 1
Завершенные тесты: 1
12.04.2013, 14:28  [ТС] #3
"WindowsFormsApplication1.Form2" не содержит определения для "Label1"
0
turbanoff
Эксперт Java
4008 / 3743 / 739
Регистрация: 18.05.2010
Сообщений: 9,323
Записей в блоге: 11
Завершенные тесты: 1
12.04.2013, 15:22 #4
Поменяйте модификатор у Label1 на public.
1
skilllab
198 / 172 / 48
Регистрация: 03.02.2011
Сообщений: 1,749
Записей в блоге: 1
Завершенные тесты: 1
12.04.2013, 15:53  [ТС] #5
Ага, элементарщина. Только вот всёравно, зачем все эти делегаты?
Безопасный код?

Добавлено через 16 минут
И почему в VB.NET контролы по-умолчанию имеют Friendly, а в C# нет? Какой-то скрытый смысл?

Добавлено через 6 минут
Это тот же NET, но в васике обращение к контролам считается безопасным а в шарпе нет)))
0
turbanoff
Эксперт Java
4008 / 3743 / 739
Регистрация: 18.05.2010
Сообщений: 9,323
Записей в блоге: 11
Завершенные тесты: 1
12.04.2013, 17:18 #6
Цитата Сообщение от skilllab Посмотреть сообщение
зачем все эти делегаты?
Про какие делегаты речь?

Цитата Сообщение от skilllab Посмотреть сообщение
И почему в VB.NET контролы по-умолчанию имеют Friendly, а в C# нет? Какой-то скрытый смысл?
Скорее всего в VB.NET оставили так потому что хотели сохранить совместимость со старым VB
А в новом языке C# решили сделать правильно.
0
Predatore
24 / 19 / 8
Регистрация: 25.10.2009
Сообщений: 241
25.04.2013, 14:41 #7
Цитата Сообщение от skilllab Посмотреть сообщение
Это тот же NET, но в васике обращение к контролам считается безопасным а в шарпе нет)))
Потому что Васька, он Васька и есть. Как правильно заметил turbanoff, просто так исторически сложилось.
А на самом же деле VB в данном случае противоречит одному из принципов ООП, а именно - инкапсуляции.
0
25.04.2013, 14:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2013, 14:41
Привет! Вот еще темы с решениями:

Настройка элементов управления формы из другой формы
Всем привет , вот столкнулся с проблемой передачи данных между формами . у меня...

Обращение к элементу формы из класса
Снова доброго времени суток. Появилась потребность обратится к элементу...

Обращение к объекту формы из класса
Здравствуйте! Подскажите пожалуйста как поступить, если нужно обратиться из...

Сменить заголовок формы из другой формы
Меняю заголовок первой формы из второй формы: Form1 Form1 = new Form1();...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru