Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2014, 14:19   #1
alexusankov
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 66
По умолчанию WinForms - глобальный доступ к классу

Здравствуйте. Совсем недавно перепрыгнул на WinForms, столкнулся с проблемкой.
Суть проста - в проекте 12 форм.
По привычке реализовываю класс с настройками, в котором будут все плюшки
Код:
public class Settings
{
}
Класс лежит там же, где и основной код MDI - контейнера.
Но вот незадача - я могу пользоваться классом, только "из первой формы".
При попытке в соседней форме обращаться к классу, VS впадает в недоумение.
Однако - все формы расположены в одном пространстве имен.
Как же так судари?
В общем - как создать класс, экземпляры которого можно будет создавать из любой формы??
Все штатные формы, доступны в пределах пространства имен, т.к. декларированы при объявлении как partial, ибо наследуются от Form.
Однако стоит ли деклалировать и мой класс так же (что решит проблему) - но на мой взгляд, это явный костыль

Последний раз редактировалось alexusankov; 24.02.2014 в 14:23.
alexusankov вне форума Ответить с цитированием
Старый 24.02.2014, 15:40   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

должен нормально работать, только не вкладывайте класс в другой класс(или проверьте что он публичный), и проверьте что он публичный
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.02.2014, 17:22   #3
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Сделайте класс статическим
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 01.03.2014, 03:13   #4
delema
Новичок
Джуниор
 
Регистрация: 01.03.2014
Сообщений: 1
По умолчанию

да, статический класс должен быть!
delema вне форума Ответить с цитированием
Старый 01.03.2014, 07:13   #5
mr_cipher
Пользователь
 
Регистрация: 05.03.2012
Сообщений: 29
По умолчанию

Цитата:
Сообщение от alexusankov Посмотреть сообщение
Класс лежит там же, где и основной код MDI - контейнера.
Класс лежит внутри класса первой формы?

Цитата:
Сообщение от alexusankov Посмотреть сообщение
При попытке в соседней форме обращаться к классу, VS впадает в недоумение.
Попытка создать экземпляр класса или увидеть уже созданный объект класса?

Цитата:
Сообщение от alexusankov Посмотреть сообщение
Однако стоит ли деклалировать и мой класс так же (что решит проблему)
Не стоит.

Цитата:
Сообщение от alexusankov Посмотреть сообщение
В общем - как создать класс, экземпляры которого можно будет создавать из любой формы??
Скорее всего нужно просто объявить его public

Код:
namespace <ОбщийNS>
{
 public class Form1: блаблабла
 {
  .....
 }


 public class Settings
 {
  public Settings()
  { ... }
  ...
 }

}
А может ошибка в названии Namespace, а может надо F7 нажать. А может надо создать публичный конструктор и заодно публичных свойств??

Последний раз редактировалось mr_cipher; 01.03.2014 в 07:19.
mr_cipher вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение к базовому классу ACE Valery Общие вопросы C/C++ 17 02.01.2013 18:04
Доступ к компоненту WinForms из другого потока. the27mart C# (си шарп) 1 22.06.2012 16:16
Параметр классу? Непонятный с++. jojahti Общие вопросы C/C++ 4 16.10.2009 08:55
Обратиться к классу (Delphi) Air Помощь студентам 16 17.07.2008 19:51
Глобальный хук на мышь не глобальный О_о JTG Общие вопросы Delphi 3 05.06.2008 17:41