C#: BringToFront(), TopMost = True НЕ работает
Я создаю приложение формы Windows в C# с помощью Visual Studio 2008. У меня есть Button
контроль на моем MainForm
, который открывается AnotherForm
на Click
событие.
Что я хочу сделать, это:
- разрешать
AnotherForm
быть открытыми только один раз за - показать сообщение об ошибке, если пользователь пытается открыть другой
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
заявление?