日期:2014-05-17  浏览次数:21042 次

C# winform启动窗体获得焦点
在启动登陆窗体前,我用线程调用一个“测试网络,连接数据库……”的等待窗体,等所有都连接成功后,开始启动登陆窗体,但是登陆窗体启动后失去焦点,不是当前的活动窗体,怎么解决呢?我试了好多方法都无济于事,           
SetForegroundWindow(this.Handle);
this.Activate();
this.Focus();
this.Select(true, true);
请问有什么好方法吗?

------解决方案--------------------
static void Main(stirng[] args)
{
   Application.Run(new SplashForm());
   Application.Run(new MainForm());
}
------解决方案--------------------
在窗口里加一个edit控件。this.edit.fouse()
------解决方案--------------------
this.Show()

Csdn好帮手——《Csdn收音机》即使监视社区动态!
------解决方案--------------------
frms.TopLevel = false;
------解决方案--------------------

                ljfwqFrm ljfrm = new ljfwqFrm();
                ljfrm.ShowDialog();
                if (ljfrm.DialogResult == DialogResult.OK)
                {
                    dlFrm frm1 = new dlFrm();
                    frm1.ShowDialog();
                    if (frm1.DialogResult == DialogResult.OK)
                    {
                        Application.Run(new zjmFrm());
                    }
                }

ljfwqFrm 和dlFrm  都设置 TopMost = true
------解决方案--------------------
如果跨线程了就用API吧~~~
------解决方案--------------------
那个窗体没有用就关闭啊,自动调整了就。

------解决方案--------------------
停止线程。
------解决方案--------------------
使用API吧!