Вкладка Control Shares Те же кнопки Winform - PullRequest
0 голосов
/ 30 ноября 2011

Интересно, возможно ли иметь фиксированное количество кнопок, которые будут использоваться разными вкладками? Однако я не знаю, как это реализовать. Ребята, у вас есть идеи?

Вот скриншот моего графического интерфейса, чтобы у всех вас было более четкое представление о том, что я имел в виду.

1

Я хочу, чтобы в списке «Клиенты», «Заказы» и «Регистрация / вывоз» использовались кнопки поиска, редактирования, удаления и обновления.

Возможно ли это? или я должен создавать кнопки diff для каждой вкладки?

это правильно, если я сделаю:

private void buttonSearch_Click(object sender, EventArgs e)
{ 
  if(tabpage.SelectedIndex == 1){ then perform action..}
  if(tabpage.SelectedIndex == 2) {then perform action...}
}

Ответы [ 3 ]

1 голос
/ 30 ноября 2011

Вы можете поместить кнопки в пользовательский элемент управления, добавить некоторые события в пользовательский элемент управления (например, SearchClicked, EditClicked и т. Д.). Поместите пользовательский элемент управления вне tabcontrol.

Затем при изменении вкладок (TabIndexChanged) удалите обработчики событий с предыдущей вкладки и добавьте обработчики событий для новой вкладки:

    private void tabControl_TabIndexChanged(object sender, EventArgs e)
    {
        UserControl1.EditClicked -= OldEventHandler;
        UserControl1.EditClicked += NewEventHandler;
    }
0 голосов
/ 30 ноября 2011

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

Плюс будет дополнительный код пользовательского интерфейса, который вам нужно будет написать для перемещения кнопок при выборе вкладки.

С различными кнопками у вас будет очень связный и слабо связанный код. Лучший дизайн. Более ремонтопригодны и управляемы. Меньше кода.

0 голосов
/ 30 ноября 2011

Да, вы можете изменить свойство .Parent кнопок во время выполнения - но не лучше ли просто переместить кнопки за пределы элемента управления вкладкой?

...