Я задал вопрос "Есть ли что-то вроде главной страницы в настольных приложениях?" Теперь я нахожусь в положении, когда мне нужно расширить вопрос. Спасибо за понимание.
Я добавил в свой проект одну основную форму MDI и несколько унаследованных форм, которые наследуют основную форму MDI. Я использовал этот код.
private void searchToolStripMenuItem_Click(object sender, EventArgs e)
{
foreach (Form child in this.MdiChildren)
{
child.Close();
}
Search childSearchForm = new Search();
childSearchForm.MdiParent = this;
childSearchForm.Text = "Search ";
childSearchForm.Show();
}
Этот код срабатывает, когда я нажимаю какую-либо кнопку в мастер-форме, и новая в этом случае форма поиска открывается внутри мастера.
Теперь мой вопрос - правильный способ создания настольных приложений, или есть какой-то другой, более элегантный способ, при котором содержимое пользовательского интерфейса может быть динамичным и переключаться с одного вида на другой, нажимая кнопки внутри. Например, нажав кнопку «Поиск» в какой-либо форме поиска, вы попадете в таблицу результатов поиска, все это происходит в одной главной форме.
И если это правильный путь (в чем я сомневаюсь), как мне добиться открытия других внутренних форм, нажав на кнопки внутри них. Также, если я добавлю некоторые элементы управления на мастер-страницу, они появятся два раза в основной и в унаследованной форме.
Спасибо.
PS
Я использую Visual Studio 2008 и MS SQL 2005.