2012-04-26 2 views
0

У меня есть TabContro в том, что у меня есть две вкладки с именем tabInsurence и tabPersonal У меня есть кнопка вне Tabcontrol. Отображается на одной вкладке и отключается на других вкладках. Я написал этот код, но никогда работыКнопка Скрытие в Tabpage в Winform

private void tabPersonal_Click(object sender, EventArgs e) 
    { 
     btnSave.Visible = true; 
    } 
    private void tabPersonal_Click(object sender, EventArgs e) 
    { 
     btnSave.Visible = true; 
    } 
+0

Вы используете другое событие - выберите. Посмотрите в этой теме [] [1] [1]: http://stackoverflow.com/questions/2926244/how-do-i-detect-a-change-of-tab-page -in-tabcontrol-before-to-selectedindexchanged –

+0

Проверьте в отладочном, вы достигнете этого кода или нет – Likurg

+0

Вы отправили то же самое событие дважды в свой вопрос. Я сомневаюсь, что это то, что вы намеревались, но это делает ваш вопрос более запутанным. – Bernard

ответ

2

Используйте выбранный индекс событие изменения, чтобы решить, следует ли кнопка быть включена или отключена на основе выбранного индекса.

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     btnSave.Enabled = tabControl1.SelectedIndex == 0 ? true : false; 
    } 
+2

Или еще лучше: 'btnSave.Enabled = (tabControl1.SelectedIndex == 0)' –

+0

@ Алон Губкин. Верно. – mchicago

0

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

Убедитесь, что элементы управления вкладками все еще привязаны к методам (события в окне свойств или просто дважды щелкните элемент управления).

Кроме того, возможно, попробуйте изменить события Tab в элементе управления вкладкой. События кликов, которые вы используете, могут быть предназначены для того, когда пользователь нажимает на фон вкладки.

Смежные вопросы