0 / 0 / 1
Регистрация: 14.11.2014
Сообщений: 65
|
|
1 | |
Можно ли редактировать главный класс Form?19.10.2016, 15:57. Показов 705. Ответов 9
Метки нет (Все метки)
Здравствуйте!
У меня есть переменные, которые используются во всех формах, а т.к. все формы наследуются от Form, то я подумал, может я смогу их объявить в Form и тогда все остальные формы будут иметь эти переменные? Всё равно эти переменные не меняются и всегда будут постоянны, было бы очень удобно. Но я не знаю можно ли это сделат и как, т.к. не могу найти код класса Form, наверное он в библиотеке встроен и если его и редактировать, то в самой библиотеке его искать, да? Если да, то можно тогда создать отдельный класс Form и делать наследование остальные форм уже от этого Form, а туда добавить мои постоянные переменные? Но какое тело класса Form должно быть в таком случае, чтобы ничего в моей программе не изменилось?
0
|
19.10.2016, 15:57 | |
Ответы с готовыми решениями:
9
Как в Visual Studio 2008 можно редактировать главный фрейм? Написать класс, в котором можно удалять, добавлять и редактировать данные Отдельно класс данных, класс формул и главный класс Хорошо ли агрегировать главный вычислительный класс в класс главного окна? |
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
|
19.10.2016, 23:22 | 4 |
В таком случаи сделать их static const (для удобства можно вынести в отдельный фал, я например создаю файл Types и там пишу статические переменны, перечислени, структурки описываю итд).
0
|
0 / 0 / 1
Регистрация: 14.11.2014
Сообщений: 65
|
|
19.10.2016, 23:30 [ТС] | 5 |
Как-то сложно для меня, я MyForm создал и радуюсь)
Но все равно спасибо за идею.
0
|
19.10.2016, 23:37 | 6 |
Exilles, хозяин барин, просто static сделала бы вашу переменную видимой везде (естественно в немспейсе), а const защитил бы ее от изменений. Те как Вы и писали
(ну тут они не иметь их будут, а видеть)
Усё давно придумано) и поверьте не просто так 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 | |
20.10.2016, 11:25 | |
Помогаю со студенческими работами здесь
10
Не могу редактировать код который создается в JFrame Form в Netbeans Не определяется главный класс Главный класс не найден Главный класс в BlueJ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |