Вопрос

Я пытаюсь решить, как лучше переключать радиокнопки вокруг содержимого панели (или другого контейнера) с помощью Windows Forms .NET (C #) и поддерживать возможность использовать конструктор Visual Studio в форме. / usercontrol, который содержит их.

Что мне действительно нравится, так это что-то вроде TabControl, где я могу программно выбирать страницы, основываясь на том, какая радиокнопка проверена, но без отображения реальных вкладок. Причина, по которой я не просто использую tabcontrol, заключается в том, что использование текущей выбранной вкладки в качестве входного значения кажется неправильным.

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

Кажется, я помню, что у Delphi был PageControl или что-то в этом роде, которое в основном было tabcontrol без заголовка табуляции.

Мне кажется, что такая ситуация часто возникает, поэтому мне любопытно: как бы вы создали что-то подобное?

Это было полезно?

Решение

Полагаю, я бы просто создал такой элемент управления страницей. Думаю, это не может быть слишком сложно (хотя поддержка времени разработки, как правило, более сложная, чем вы бы иногда хотели ...)

Другие советы

Я всегда играл с функцией видимости.

Вы можете создать каждую панель как пользовательский элемент управления. Это дало бы вам гибкость во время разработки. Затем, как и все остальные, используйте видимость, когда вы манипулируете ими программно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top