У меня есть такие формы:
MainScreen - контейнер MDI
DataBaseOutput - дочерний
NewAnime - дочерний
В DataBaseOutput есть вкладка, в которой хранятся таблицы данных, каждая для разных таблиц. Я использую базу данных доступа.
В этих вкладках есть меню, из которого будут вызываться функции «Создать», «Редактировать», «Удалить» и т. Д. Теперь, когда я нахожусь на панели меню первой вкладки и нажимаю «Создать», я хочу открыть форму «NewAnime» внутри контейнера MDI. Однако это не работает, как я планировал. Сначала я пытался просто вызвать его из дочерней формы (DataBaseOutput). Это привело к открытию новой формы вместо дочерней. когда я сделал его ребенком, он не появлялся.
Потом я много чего нахожу, но до сих пор не понял.
Это текущий код для вызова формы. Он вызывает форму с методом в главной форме:
private void NewAnime_Click(object sender, EventArgs e)
{
MainScreen main = new MainScreen();
main.mShowForm(2);
this.Close();
}
Метод в основной форме:
// Forms for MDI Parent
DataBaseOutput OutputForm = new DataBaseOutput();
NewAnime AddAnime = new NewAnime();
// How i made them childs (this is at the InitializeComponent(); part)
OutputForm.MdiParent = this;
AddAnime.MdiParent = this;
public void mShowForm(int formnumber)
{
switch (formnumber)
{
case 1: OutputForm.Show(); break;
case 2: AddAnime.Show(); break;
}
}
Кто-нибудь знает, что я делаю не так, и, может быть, есть идея получше? Это может быть слишком много работы, но, как я уже сказал, я впервые использую формы MDI, и я просто пытаюсь заставить их работать.