如何将我的应用程序窗口置于最前面?例如,当我的应用需要关注时。
这是给我的个人程序。我需要该功能。
这就是我得到的。但这 不是 100%的时间。
public void BringToFrontToEnterCaptha() { if (InvokeRequired) { Invoke(new Action(BringToFrontToEnterCaptha)); } else { this.TopMost = true; this.Focus(); this.BringToFront(); this.textBox1.Focus(); this.textBox1.Text = string.Empty; System.Media.SystemSounds.Beep.Play(); } } public void BringToBackAfterEnterCaptha() { if (InvokeRequired) { Invoke(new Action(BringToBackAfterEnterCaptha)); } else { this.TopMost = false; } }
我称他们为后台工作者。
BringToFrontToEnterCaptha(); while (!ready) { Thread.Sleep(100); } BringToBackAfterEnterCaptha(); Thread.Sleep(300);
并在按下“接受”按钮后将bool ready设置为true。
我工作出色,但并非总是如此。
用途Control.BringToFront:
Control.BringToFront
myForm.BringToFront();