Моя настройка: У меня приложение на C# (.NET 3.5) в Visual Studio 2008. Нет возможности перейти на WPF или что-либо еще :).
Мое приложение содержит пользовательский элемент управления (класс кнопки, производный от Windows.Forms.Button), который действует как замена Windows.Forms.TabControl. Я могу связать эти кнопки друг с другом, и каждая кнопка может быть связана с одним элементом управления, с которым она работает (обычно это какая-то панель Windows.Forms.Panel). Это выглядит примерно так:
public class TabButton : System.Windows.Forms.Button
{
// ...
protected override void OnClick(EventArgs e)
{
base.OnClick(e);
this.myAssociatedControl.Visible = true;
this.tellMyBuddiesToHideTheirControls();
}
// ...
}
По сути, это просто щелчок на кнопке, показ связанного с ней элемента управления и исчезновение элементов управления, связанных с ассоциированными кнопками - точно так же, как TabControl, но подход легко проектируется, и я могу разместить кнопки далеко от панелей их содержимого.
Проблема:
Это довольно хорошо работает во время выполнения, но использование во время проектирования кажется странным: с помощью мыши найдите элемент управления, принадлежащий группе, и выполните серию
s, пока нужный элемент управления не станет видимым.
Вопрос: Есть ли способ сказать дизайнеру VS оценивать нажатия на кнопки во время проектирования, как это делается с TabControl, чтобы я мог переключать вкладки, просто нажимая на них, как во время выполнения?
Я искал довольно долгое время. Здесь на SO есть несколько статей, но они, похоже, посвящены только добавлению дополнительных атрибутов в конструктор свойств.