窗体Show之后处于非激活状态,如何使它变成当前活动窗体,用编程的方法

gunziyang 2012-03-22 05:56:06
窗体Show()之后并不是当前活动的窗口,即Form2.Show()之后,这个窗体是在后台的,相当于你正在Firefox,你点击Word之后Firefox的状态

请问如何用编程的方法激活Form2?
...全文
522 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnwin 2012-03-25
  • 打赏
  • 举报
回复
o上面说错了,不是Frame控件而是GroupBox,当然你可以选择自己爱用的容器控件比如Panel都可以,一开始第一个显示,第二个隐藏。Flash上Enter后第一个隐藏,第二个显示。当然按照实际情况也许你需要调整窗体大小以适应第二个容器及里面的控件。这种方式也可以实现你的要求。
cnwin 2012-03-25
  • 打赏
  • 举报
回复
哦,你说的是隐藏本体,显示Form2?那么说还可以用另一种方式代替。比如Flash放在一个Frame控件里,Enter之后的放在另一个Frame控件里。控制着两个的Visible就可以了。
cnwin 2012-03-24
  • 打赏
  • 举报
回复
我试了,在窗体放置Flash控件,也是可以实现点按钮Form2就会被激活的。你到底是要Form1激活还是form2?如果是Form1,那调用后再加上 :
this.Focus();
gunziyang 2012-03-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 cnwin 的回复:]

我试了,在窗体放置Flash控件,也是可以实现点按钮Form2就会被激活的。你到底是要Form1激活还是form2?如果是Form1,那调用后再加上 :
this.Focus();
[/Quote]

不是通过按钮点击Show Form2,而是通过Flash控件的Enter事件Form1.Hide(),且Form2.Show(),同时Form2处于激活状态,你能达到这效果吗
cnwin 2012-03-23
  • 打赏
  • 举报
回复
哦,回头我看看再说。
gunziyang 2012-03-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cnwin 的回复:]

看楼住的问题像是我以前遇到的调窗体问题.你是不是调用的窗口有可能已打开,你只是不方便用鼠标点击激活?可以在你的代码中这样写:
C# code

if (frm1.Visible)
{
frm1.Focus();
}
else
{
frm1.Show();
}
[/Quote]

你太了解我了,但问题是,按照你的方法也无法激活Form。原因应该是出在Flash控件上,你能不能现在帮我试试?先在Form1里弄一个Flash控件,然后在Flash控件的Enter方法里Form2.Show(),然后Form2不是激活的,Form1才是激活的
cnwin 2012-03-22
  • 打赏
  • 举报
回复
看楼住的问题像是我以前遇到的调窗体问题.你是不是调用的窗口有可能已打开,你只是不方便用鼠标点击激活?可以在你的代码中这样写:

if (frm1.Visible)
{
frm1.Focus();
}
else
{
frm1.Show();
}
gunziyang 2012-03-22
  • 打赏
  • 举报
回复
更新一下问题,事件处理程序都是
{
Form1.Hide();
Form2.Show();
}

为什么我在flash控件的Enter事件里处理时Form2出来之后是非激活状态,如果在button控件的Click事件里处理时Form2出来之后是激活状态。

还有如果非要在flash控件里的Enter事件里处理的话,怎么办?
猫三喵 2012-03-22
  • 打赏
  • 举报
回复
SetWindowPos函数可以实现,还可以设置窗体为最顶层窗体。
threenewbee 2012-03-22
  • 打赏
  • 举报
回复
SetForeGroundWindow API 函数。
gunziyang 2012-03-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]

form.BringToFront()
form.Active()
[/Quote]

不行
threenewbee 2012-03-22
  • 打赏
  • 举报
回复
form.BringToFront()
form.Active()

110,552

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧