Yu-Long Fang Ответов: 1

Как разделить дизайн пользовательского интерфейса между оконными формами?


уважаемый господин,

У меня есть проблема с моим окном .NET C# из проекта.
У меня есть много разных оконных форм в моем проекте, и многие из них выглядят одинаково.

В настоящее время я создаю отдельные элементы управления и код для каждого окна.
Это означает, что мне нужно много раз изменять дизайн пользовательского интерфейса и исходный код всякий раз, когда у меня есть ошибки или мне нужно реализовать новые функции. Мне нужно повторить кодирование много раз! Это меня очень утомляет.

Есть ли способ реализовать дизайн пользовательского интерфейса только один раз и разделить его между оконными формами?

Пожалуйста, не стесняйтесь обращаться ко мне, если у вас есть какие-либо вопросы. Спасибо!

Эрик Фанг

Что я уже пробовал:

Я пытаюсь реализовать некоторые глобальные функции, чтобы улучшить это, но это не слишком помогает.

1 Ответов

Рейтинг:
0

OriginalGriff

Это сложно, потому что мы не можем видеть ваши формы, или почувствовать, что они делают, или сколько "сходства" на самом деле есть.

Но если у вас есть один и тот же код в нескольких местах, есть несколько способов уменьшить его.
Первый способ-объявить "базовую форму", которая реализует общую функциональность, и вывести из нее ваши другие формы. Таким образом, вы изменяете общий код и элементы управления один раз, и он автоматически "распространяется" на производные формы.

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

Я использую UserControls довольно часто, как для "совместного использования" общих функций управления и внешнего вида, так и для "разделения" моего кода и уменьшения размера базы кода формы и облегчения работы с ней.

Что для тебя хорошо? Не знаю - у нас нет никакого доступа к вашему приложению!


Yu-Long Fang

Привет, OriginalGriff,

Я думаю, что UserControls может быть хорошей идеей.
Я никогда раньше этим не пользовался. Я постараюсь это выяснить. Спасибо!

Эрик

OriginalGriff

Всегда пожалуйста!

Ralf Meier

Вы должны внимательно прочитать то, что ОГ написал/предложил вам.
Когда я читаю ваш вопрос, я предполагаю, что в целом вывод должен быть хорошим подходом для вас - это означает : создайте базовую форму (как было предложено) и выведите из нее другие формы ...

Yu-Long Fang

Здравствуй, Ральф,

Я тоже никогда не пользовался BaseForm.
Я также изучу это, а затем решу, какое решение лучше для моего проекта. Спасибо!

Эрик