VB.NET窗口置顶在最前面显示的时候不影响目前鼠标焦点.
VB.NET窗口置顶在最前面我设置了TOPMOST属性并且把FORM设置了visible=false到了有事件的时候VISIBLE=T,问题是有事件的时候窗口显示了但是影...
VB.NET窗口置顶在最前面我设置了TOPMOST属性并且把FORM设置了visible=false到了有事件的时候VISIBLE=T,问题是有事件的时候窗口显示了但是影响其他的操作,比如打字聊天的时候这个FORM一显示出来焦点就移走了.如何才能解决这个问题呢.要的功能就是能显示出来但是不要影响我目前鼠标焦点.注意是VB.NET不是VB6.0.VB6.0我用API是成功了的.
展开
2个回答
展开全部
这是一个关于模态窗口与非模态窗口的问题。
实现非模态窗口也没什么难度
Dim form As New Form1
form.TopMost = True
form.Show()
你再将鼠标移到父窗口上,弹出的窗口也不会消失。
实现非模态窗口也没什么难度
Dim form As New Form1
form.TopMost = True
form.Show()
你再将鼠标移到父窗口上,弹出的窗口也不会消失。
追问
你没明白我的意思,鼠标移到父窗口上,弹出的窗口也不会消失。 我没有父窗.
追答
对不起,刚开始没看清,多读了几遍,总算明白了。你可以试试以下方法:
Protected Overrides ReadOnly Property ShowWithoutActivation As Boolean
Get
Return True
End Get
End Property
将此段代码加到你的窗口类中,再试试,应该能成功了
2011-07-06
展开全部
这个好像需要API
.net好像没封装进去 估计是我不会 不过API的方法也简单
//下面代码是c#改过来的 好久没用vb了 不知道有没有错,自己运行下试试
[System.Runtime.InteropServices.DllImport("user32.dll")] //winuser.h
private static extern Boolean ShowWindow(hWnd as IntPtr , nCmdShow as Int32 );
const SW_SHOWNOACTIVATE as int = 4;
//调用
ShowWindow(窗口.Handle, SW_SHOWNOACTIVATE);
.net好像没封装进去 估计是我不会 不过API的方法也简单
//下面代码是c#改过来的 好久没用vb了 不知道有没有错,自己运行下试试
[System.Runtime.InteropServices.DllImport("user32.dll")] //winuser.h
private static extern Boolean ShowWindow(hWnd as IntPtr , nCmdShow as Int32 );
const SW_SHOWNOACTIVATE as int = 4;
//调用
ShowWindow(窗口.Handle, SW_SHOWNOACTIVATE);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询