none
VB2008 如何让窗体不在Alt+Tab中显示? RRS feed

  • 问题

  • 如题,我的窗体是个置顶的菜单。所以不需要任务栏显示和Alt+Tab显示。
    任务栏显示可以在属性中关掉。
    但是Alt+Tab中的显示无法关闭!!!!
    我在KB知识库里找到了一篇早期版本VB关闭的方法,但是API中使用的是hwnd属性,VB2008被改成了Handle属性,所以不行。

    请问怎么不让窗体在 Alt + Tab 中显示?
    2009年6月13日 6:34

答案

全部回复

  • hwnd可以用Me.Handle.ToInt32来解决

    ~~~~~ 如果我的回复对您有所帮助,请您点击一下此回复右上角的“投票认定帖子内容有帮助” ~~~~~
    ~~~~~ 向着三颗奖牌出发!^______^ ~~~~~
    2009年6月13日 16:05
  • 你好,

    试一下下面的代码:

    Imports System.Runtime.InteropServices

    Public Class Form1

        'Private Shared WS_POPUP As UInteger = 2147483648
        Public Const WS_POPUP As Integer = &H80000000

        Private Shared WS_EX_TOPMOST As UInteger = 8
        Private Shared WS_EX_TOOLWINDOW As UInteger = 128
        Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams

            Get
                Dim cp As CreateParams = MyBase.CreateParams
                cp.Style = CInt(WS_POPUP)
                cp.ExStyle = CInt(WS_EX_TOPMOST) + CInt(WS_EX_TOOLWINDOW)

                ' Set location
                cp.X = 100
                cp.Y = 100

                Return cp
            End Get
        End Property
      
    End Class

    我参考了这个Post:
    http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvb/thread/decba095-5963-443d-b27e-e72d1a0fd0f4/

    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年6月16日 2:29
    版主
  • 抱歉,为了让你再回来一次……先取消标记答复……


    问题是解决了,一开始没看懂这段代码,后来查MSDN知道CreateParams是封装窗体创建时的数据的

    但是没有更详细的属性说明了……能说一下
    style属性都可以有哪些值?每个值是干什么用的么?
    ExStyle呢?

    还有,怎么觉得好像可以用类似的方法实现VB6的backstyle功能?
    我要做透明控件,你能帮忙么?很早以前的提问,到现在都没解决……
    http://social.microsoft.com/Forums/zh-CN/2212/thread/511e36b1-396c-48d9-a952-979bd85fa70a
    2009年6月19日 23:42
  • 你好,

    .NET实际上应该是调用了CreateWindowEx函数来产生窗体的,具体的细节你要用Reflector去研究窗体类的源码,我也没有看到对这些属性详细的介绍文档:
    http://msdn.microsoft.com/en-us/library/ms632680(VS.85).aspx

    第二个问题可以开一个新的帖子去讨论.

    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年6月22日 5:17
    版主