.NET Radiobuttons & content: # 8221; дизайн
-
03-07-2019 - |
Вопрос
Я пытаюсь решить, как лучше переключать радиокнопки вокруг содержимого панели (или другого контейнера) с помощью Windows Forms .NET (C #) и поддерживать возможность использовать конструктор Visual Studio в форме. / usercontrol, который содержит их.
Что мне действительно нравится, так это что-то вроде TabControl, где я могу программно выбирать страницы, основываясь на том, какая радиокнопка проверена, но без отображения реальных вкладок. Причина, по которой я не просто использую tabcontrol, заключается в том, что использование текущей выбранной вкладки в качестве входного значения кажется неправильным.
Очевидное решение состоит в том, чтобы просто иметь панель для каждой радиопереключателя и переключать их, используя видимость и тому подобное - но это раздражает в работе в конструкторе Visual Studio, поскольку эти панели будут либо скрыты друг под другом, либо нет в правильном положении (и общая форма не в нужном размере, если нет места для более чем одной панели, которая должна быть показана одновременно.)
Кажется, я помню, что у Delphi был PageControl или что-то в этом роде, которое в основном было tabcontrol без заголовка табуляции.
Мне кажется, что такая ситуация часто возникает, поэтому мне любопытно: как бы вы создали что-то подобное?
Решение
Полагаю, я бы просто создал такой элемент управления страницей. Думаю, это не может быть слишком сложно (хотя поддержка времени разработки, как правило, более сложная, чем вы бы иногда хотели ...)
Другие советы
Я всегда играл с функцией видимости.
Вы можете создать каждую панель как пользовательский элемент управления. Это дало бы вам гибкость во время разработки. Затем, как и все остальные, используйте видимость, когда вы манипулируете ими программно.