В C # есть ли способ открыть 2-ю форму с выбранной вкладкой? - PullRequest
1 голос
/ 15 января 2009

Кто-нибудь знает способ открыть вторую форму в приложении .NET с определенной вкладкой, выбранной в элементе управления вкладки в этой форме?

Вот так выглядит мой текущий код, который просто открывает форму:

SettingsForm TheSettingsForm = new SettingsForm(this);
TheSettingsForm.Show();

SettingsForm.cs - это имя второй формы, которую нужно открыть.

Заранее спасибо,

Ответы [ 3 ]

2 голосов
/ 15 января 2009

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

var form = new SettingsForm(this);
form.SelectedTab = 2;
form.Show();

Свойство формы будет просто устанавливать соответствующее свойство на вкладке:

public int SelectedTab
{
    get { return _tabControl.SelectedIndex; }
    set { _tabControl.SelectedIndex = value; }
}
1 голос
/ 15 января 2009

Добавление обработчика событий к событию TabControl.SelectedIndexChanged .

myTabControl.SelectedIndexChanged += myTabControl_SelectedIndexChanged;

private void myTabControl_SelectedIndexChanged(object sender, EventArgs e) {
    TabControl tc = sender as TabControl;
    if (tc.SelectedIndex == indexOfTabToShowFormOn) {
        TheSettingsForm.Show();
    }
}
1 голос
/ 15 января 2009

Сделайте что-то вроде этого:

SettingsForm TheSettingsForm = new SettingsForm(this);
TheSettingsForm.TabPanel.SelectedIndex = SettingsFormTabIndexes.MyDesiredTab;
TheSettingsForm.Show();

, где вы создали свойство в TheSettingsForm, которое предоставляет элемент управления вкладками, а SettingsFormTabIndexes - это удобное перечисление, в котором все вкладки называются по индексу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...