如何使窗口弹出不占焦点?

BGBAS 2007-08-20 02:49:31
请问怎样可以使窗口弹出不占用焦点啊? 就是主窗口不会失去焦点 ,我用了 setparent 把 form2 设置为 form1 的子窗口,但是form2 弹出时form1会失去焦点.我想 弹出form2 而form1 不会丢失焦点, 请问怎么弄?
...全文
442 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
BGBAS 2007-08-23
  • 打赏
  • 举报
回复
不好意思,没来得及结贴, 对于我的问题是没有完全解决,但是对于此贴的问题,已经完成了,谢谢关注过此贴的朋友
fuyiyong 2007-08-21
  • 打赏
  • 举报
回复
全是强人
hamehameha 2007-08-21
  • 打赏
  • 举报
回复
强人
北京的雾霾天 2007-08-21
  • 打赏
  • 举报
回复
楼主可以考虑在WndProc函数中处理以便主窗体不失去焦点(参考片段):
if (m.Msg == NativeMethods.WM_NCACTIVATE && m.WParam == IntPtr.Zero)
{
m.Result = (IntPtr)0;
return;
}

楼主可以使用Application.AddMessageFilter来添加应用程序级的全局标消息处理,而不使用Hook。

北京的雾霾天 2007-08-21
  • 打赏
  • 举报
回复
怎样可以点击也不让主窗口丢焦点?
----------------------
这个也是可以做的,不过这样会比较“危险”,因为你想做的更好,因而可能会一步步的“深陷进去”,对一个一个不具有焦点的窗体,如果上面有控件,可能会因鼠标点击而得到焦点从而使窗体得到焦点,这时“不会失去焦点”的主窗体也会失去焦点!可能你会做的很“完美”,不过你会付出相当的精力来解决这个问题,因为这非常不简单。

对于这样的问题一般是做到近似的效果,而不能很完美。比如我们可以默认用户使用鼠标点击而使控件及所在窗体得到焦点而不用管他。

当然你也可以用.NET中支持不是太好的Hook技术来处理鼠标事件,但这也不是能简单的能解决。


总之,对于这个问题应该见好就收。
BGBAS 2007-08-21
  • 打赏
  • 举报
回复
hbxtlhx(平民百姓-自已动手,丰衣足食) 在这里 谢谢先了
BGBAS 2007-08-21
  • 打赏
  • 举报
回复
Protected Overrides ReadOnly Property ShowWithoutActivation As Boolean
Get
Return True
End Get
End Property

问题算是解决了一点,这个是可以不激活弹出的子窗口. 但是还想问一下,怎样可以点击也不让主窗口丢焦点?
BGBAS 2007-08-20
  • 打赏
  • 举报
回复
但是那样会触发我控件的LostFocus
Eddie005 2007-08-20
  • 打赏
  • 举报
回复
简单问题,楼上正解~ ^o^
北京的雾霾天 2007-08-20
  • 打赏
  • 举报
回复
哪个窗体在显示的时候不需要焦点就把代码粘贴到哪个窗体中。直接粘贴就是了,比如:

class form1:Form
{
public form1()
{
}
Protected Overrides ReadOnly Property ShowWithoutActivation As Boolean
Get
Return True
End Get
End Property
}
北京的雾霾天 2007-08-20
  • 打赏
  • 举报
回复
在你的窗体代码中粘贴如下的代码就可以了:

Protected Overrides ReadOnly Property ShowWithoutActivation As Boolean
Get
Return True
End Get
End Property


BearRui 2007-08-20
  • 打赏
  • 举报
回复
VB的应该是:

f.Show(Me)
Me.Focus()
BearRui 2007-08-20
  • 打赏
  • 举报
回复
StartForm f = new StartForm();
f.Show(this);
this.Focus();

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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