C#: BringToFront(), TopMost = True НЕ работает

Я создаю приложение формы Windows в C# с помощью Visual Studio 2008. У меня есть Button контроль на моем MainForm, который открывается AnotherForm на Click событие.

Что я хочу сделать, это:

  1. разрешать AnotherForm быть открытыми только один раз за
  2. показать сообщение об ошибке, если пользователь пытается открыть другой AnotherForm когда он уже открыт, и принеси уже открытый AnotherForm спереди.

Я смог ограничить AnotherForm открыть счет до 1 с помощью static поле. Тем не менее, мне трудно выполнить требование № 2. Показывает сообщение об ошибке, но не приносит уже открытое AnotherForm спереди.

Вот мой код:

**MainForm**
private void BtnToOpenAnotherFornn_Click(object sender, EventArgs e)
{
    AnotherForm af = new AnotherForm();
    if (af.GetNumForms() < 1)
        af.Show();
    else
    {
        MessageBox.Show("AnotherForm is already open.");
        //af.TopMost = true;  //Not working
        //af.BringToFront();   //Not working
    }        
}

**AnotherForm**
private static int NumForms = 0;
public int GetForms(){
    return NumForms;
}

Может кто-нибудь подскажите пожалуйста как привезти AnotherForm на фронт в else заявление?

0 ответов

Другие вопросы по тегам