Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 14.11.2014
Сообщений: 65
1

Можно ли редактировать главный класс Form?

19.10.2016, 15:57. Показов 705. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
У меня есть переменные, которые используются во всех формах, а т.к. все формы наследуются от Form, то я подумал, может я смогу их объявить в Form и тогда все остальные формы будут иметь эти переменные?
Всё равно эти переменные не меняются и всегда будут постоянны, было бы очень удобно.
Но я не знаю можно ли это сделат и как, т.к. не могу найти код класса Form, наверное он в библиотеке встроен и если его и редактировать, то в самой библиотеке его искать, да?
Если да, то можно тогда создать отдельный класс Form и делать наследование остальные форм уже от этого Form, а туда добавить мои постоянные переменные?
Но какое тело класса Form должно быть в таком случае, чтобы ничего в моей программе не изменилось?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2016, 15:57
Ответы с готовыми решениями:

Как в Visual Studio 2008 можно редактировать главный фрейм?
Как в Visual Studio 2008 можно редактировать главный фрейм? Создал проект Win32, в редакторе...

Написать класс, в котором можно удалять, добавлять и редактировать данные
Люди помогите написать программу, очень нужно!!! Буду очень благодарен........ 1. Написать класс...

Отдельно класс данных, класс формул и главный класс
Здравствуйте! У меня есть три вопроса. Первый вопрос. Скажите пожалуйста! Правильный ли это...

Хорошо ли агрегировать главный вычислительный класс в класс главного окна?
Каждый раз, создавая проект, помещаю объект класса, являющегося наследником QMainWindow в main(),...

9
1144 / 873 / 506
Регистрация: 09.04.2014
Сообщений: 2,055
19.10.2016, 16:24 2
сделайте класс MyForm:Form в котором опишите все свои переменные. Остальные формы наследуйте от MyForm
1
0 / 0 / 1
Регистрация: 14.11.2014
Сообщений: 65
19.10.2016, 21:56  [ТС] 3
Действительно, к такому варианту я не пришел...
Спасибо, все получилось)
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
19.10.2016, 23:22 4
Цитата Сообщение от Exilles Посмотреть сообщение
Всё равно эти переменные не меняются и всегда будут постоянны, было бы очень удобно.
В таком случаи сделать их static const (для удобства можно вынести в отдельный фал, я например создаю файл Types и там пишу статические переменны, перечислени, структурки описываю итд).
0
0 / 0 / 1
Регистрация: 14.11.2014
Сообщений: 65
19.10.2016, 23:30  [ТС] 5
Как-то сложно для меня, я MyForm создал и радуюсь)
Но все равно спасибо за идею.
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
19.10.2016, 23:37 6
Exilles, хозяин барин, просто static сделала бы вашу переменную видимой везде (естественно в немспейсе), а const защитил бы ее от изменений. Те как Вы и писали
Цитата Сообщение от Exilles Посмотреть сообщение
все остальные формы будут иметь эти переменные
(ну тут они не иметь их будут, а видеть)
Цитата Сообщение от Exilles Посмотреть сообщение
Всё равно эти переменные не меняются и всегда будут постоянны
Усё давно придумано) и поверьте не просто так static - и , const - ы и тп изобритали.
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
20.10.2016, 03:10 7
По-моему тут все зависит от того, куда по смыслу относятся эти "переменные"(которые судя по вашему описанию-константы). Если они относятся именно к GUI и нужны именно в формах-то логично было бы сделать именно так, как описано с MyForm. Если же они нужны в логике, а у вас просто нет отделения логиики от интерейса, то вам сюда и все делать надо по-другому. А пихать разные по смыслу константы в один статический класс-идея далеко не всегда хорошая. Это хорошо, когда они логически как-то объединены, иначе бардак может получиться.
0
0 / 0 / 1
Регистрация: 14.11.2014
Сообщений: 65
20.10.2016, 08:38  [ТС] 8
Ну, у меня есть класс, в котором звуки разные лежат и куча методов, в котором какой-то конкретный звук воспроизводится (так надо), а общие экземпляры это и есть эти классы, которые воспроизводят какой-либо звук, там реализовано наследование+полиморфизм, и т.к. статическим там ничего нельзя сделать из-за полиморфизма, а создавать экземпляры в каждой форме с полным путём как-то очень кропотливо, я хотел себе облегчить это путём создания общих экземпляров для всех форм, вот так и появился этот вопрос..

"Архитектура ПО в WinForms" почитаю позднее, спасибо. Не знал про такие статьи здесь.
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
20.10.2016, 08:52 9
Exilles, я может не до конца понял ваше описание, но я так понимаю, вам нужно, чтобы был один на всю программу экземпляр некого класса, а статическим этот класс нельзя сделать из-за наследования? Тогда почему бы не оформить его как синглтон?
0
0 / 0 / 1
Регистрация: 14.11.2014
Сообщений: 65
20.10.2016, 11:25  [ТС] 10
Ну, да, всё верно, только не один экземпляр, а их там много.
В классе, где наследование, там где-то 8 классов и нужно каждого из них сделать экземпляр.
Про синглтон я не знаю ничего, щас загуглил, кажется это не то, что нужно, т.к. там только 1 экземпляр можно добавить, да и критикуют этот метод сильно, и в реализации мне сложно понятен.
0
20.10.2016, 11:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2016, 11:25
Помогаю со студенческими работами здесь

Не могу редактировать код который создается в JFrame Form в Netbeans
Здраствуйте! Необходимость работать иногда на NetBeans угнетает: Например, страшно раздражает тот...

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

Главный класс не найден
Привет всем.Я только начал изучать Java не могу понять как запустить программу.Выдает такую...

Главный класс в BlueJ
Народ, нужна ваша помощь. Я сейчас выполняю следующее задание: Разработайте в BlueJ родительский...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru