【发布时间】:2014-10-28 06:42:21
【问题描述】:
我在 Windows CE 移动设备上使用 VB.Net。我试图以“全屏”显示我的表单(即覆盖整个屏幕,甚至在任务栏的顶部),同时不允许移动/拖动表单。到目前为止,我只实现了以下任一目标:
使表单处于全屏状态,但用户可以拖动它。我通过简单地将表单的高度和宽度设置为屏幕的高度和宽度来做到这一点。
禁用拖动(通过将窗口状态设置为“最大化”),但任务栏可见并启用
禁用拖动(再次使用最大化),隐藏任务栏(通过使用 coredll 中的 ShowWindow),但窗口在底部被截断 - 任务栏应该在的区域,它在哪里现在显示一个空白区域,而不是我想要的表单的其余部分
我试过SetWindowPos,但任务栏还在。代码如下:
' this code is from the main form's load event
CDevice.HideTaskBar(Me)
Me.AutoScroll = False
Me.WindowState = FormWindowState.Maximized
这里是 HideTaskBar 的定义(来自上面的代码):
Public Const SWP_NOSIZE As Int32 = &H1
Public Const SWP_NOMOVE As Int32 = &H2
Public Shared Sub HideTaskBar(ByRef obj As Form)
Dim taskhWin = FindWindow("HHTaskBar", Nothing)
SetWindowPos(taskhWin, New IntPtr(-1), 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
SetWindowPos(obj.Handle, New IntPtr(1), 0, 0, 240, 320, 0)
End Sub
【问题讨论】:
标签: vb.net compact-framework windows-ce