Я использую метод sice. У меня будет много дочерних форм.Теперь он отображается, когда я вызываю форму нажатием на кнопку, но не после закрытия дочернего входа.
Метод:
private void mForms(Form f)
{
if (this.MdiChildren.Contains(f))
{
f.WindowState = FormWindowState.Normal;
}
else
{
f.MdiParent = this; f.Show();
}
}
Это просто проверяет, содержит ли MDIcontainer ужезапрошенная форма.Если да, поставьте его снова (если оно свернуто), если нет, покажите его.
Теперь я могу вызывать формы, используя это:
private void ts_bestand_studenten_add_Click(object sender, EventArgs e)
{
if (add_student.IsDisposed)
{
add_student = new add_student();
}
mForms(add_student);
}
Это проверяет, если этоутилизировать уже или нет.Если так, переопределите это.Затем он вызывает метод, чтобы открыть правильную форму.Это работает как надо.
Теперь проблемная часть: после закрытия экрана входа в систему и входа пользователя в систему определяется уровень пользователя.Я должен быть в состоянии открыть другую форму.Это метод, который я использую для этого: (ПРИМЕЧАНИЕ: уровни пользователя работают нормально, так как они достигают окна сообщений)
// Predefines start_screen_admin
Form start_screen_admin = new start_screen_admin();
public void mCommitRights()
{
if (userlevel.gCheckLevel == 0)
{
// Admin, no changes
MessageBox.Show("Admin");
mForms(start_screen_admin);
}
... more of the same to check for userlevels
}
Теперь вы думаете, что это должно работать.Мне не нужно переопределять его, потому что он открывается впервые, и он уже предопределен.MessageBox показывает, а форма - нет.Я действительно не вижу проблемы в этом.Я перепробовал все, что мог придумать ..