C# winform 怎么让窗体蹦到前面
一开始窗体是打开的,但是不是在最前面,当我调用一个事件时,我想让这个窗体覆盖其它窗体显示在最前面,但是不用一直都在最前面,只要这一次。谢谢了各位。...
一开始窗体是打开的,但是不是在最前面,当我调用一个事件时,我想让这个窗体覆盖其它窗体显示在最前面,但是不用一直都在最前面,只要这一次。谢谢了各位。
展开
6个回答
展开全部
让窗体最前置的话,可以使用:
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);
这样调用:
SetForegroundWindow(this.Handle); //当前窗体是this
或者调用:
this.Activate(); //当前窗体是this
但是这两种方法都会激活窗体,且前者不能在最小化时使用。
如果使用:
this.TopMost=true;
this.TopMost=false;
的话,在下一次操作窗体之前,窗体都是最前的。
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);
这样调用:
SetForegroundWindow(this.Handle); //当前窗体是this
或者调用:
this.Activate(); //当前窗体是this
但是这两种方法都会激活窗体,且前者不能在最小化时使用。
如果使用:
this.TopMost=true;
this.TopMost=false;
的话,在下一次操作窗体之前,窗体都是最前的。
展开全部
通过更改Window.Topmost 属性 (System.Windows)可以实现此功能
Topmost获取或设置一个值窗口是否显示在最顶层。 当属性值为True时,窗口前置。
当窗口承载在浏览器中时,不能设置或获取该属性。
下面是一个示例:
Form1 fm = new Form1();//新建窗口
fm.TopMost = true;//置于最顶层
fm.Show(this);//必须加上this,否则上一句无效
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Form 属性
TopMost=true;
当你操纵完后
给他的属性设置为false;
就不会排在最前面了
TopMost=true;
当你操纵完后
给他的属性设置为false;
就不会排在最前面了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
form1 f1 = new form1();
f1.ShowDialog();
用f1.ShowDialog(); 就可以一直在前面
用f1.Show(); 就可以不是一直在前面
f1.ShowDialog();
用f1.ShowDialog(); 就可以一直在前面
用f1.Show(); 就可以不是一直在前面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-04-13
展开全部
在事件中重新show该窗体,即把f1.Show(); 放到你说的那个事件中重新调用一下。f1是你题目里说的想要显示在最前面的窗体。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询