![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Iskin |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 6.7.2008 Репутация: нет Всего: нет |
Помогите чайнику! Пытаюсь освоить ООП - возник такой вот вопрос:
Есть форма на которой есть Button и label. Есть класс Program. Хочу нажимая кнопку - вызвать метод класса Program. В этом методе указано что написать в label. Знаю, что есть способ вот такой:
где метод Write описан в классе Program:
Но я хочу чтобы в методе Write было чётко написано: label1.Text = "HELLO"; Но MSVS ругается: The name 'label1' does not exist in the current context Как выбраться из этой ситуации подскажите пожалуйста! |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 18 Всего: 142 |
Если label1 находится на форме form1, то вот так
form1.label1 Правда label1, должен иметь модификатор как минимум internal, потомучто private не видно за пределами класса -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| Alfmaster |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 20.9.2008 Репутация: нет Всего: нет |
Нужно чтобы label1 был public
А вообще не стоит обращаться к компонентам из вне класса формы... |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 18 Всего: 142 |
Если из другой сборки, то ессно public, а если сборка одна, то internal вполне достаточно. public поля - плёха, осинь плёха
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| SpaceSpace |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 366 Регистрация: 10.4.2007 Где: Самара Репутация: нет Всего: 10 |
можно : передавать не форму а сам лэйбл в класс.
причем класс может находится в соседней библиотеке, и лэйбл будет приватным. минус в том что эта библиотека будет поключена к System.Windows.Forms Это сообщение отредактировал(а) SpaceSpace - 19.11.2008, 14:14 -------------------- Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение. 70-565 MCPD Enterprise 3.5 |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 18 Всего: 142 |
Да так то оно так, только ведь в этом случае всё равно метод прийдётся из формы вызывать, и ек тому же передавать ему лэйбл, а он по ходу как раз этого и не хочет делать. Тут если речь идёт о другой сборке лучше всего сделать так:
В форме создаём текстовое свойство (например Caption)
а из класса можно передавать этому свойству значение и оно будет вставляться в лэйбл. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |