2014-10-28 67 views
0

我正在使用Windows CE移动设备上的VB.Net。我试图在“全屏”(即覆盖整个屏幕,甚至在任务栏顶部)显示我的表单,但不允许表单被移动/拖动。到目前为止,我只能实现:如何隐藏Windows CE任务栏并以全屏显示程序窗口?

  • 以全屏形式显示窗体,但用户可以将其拖动。我只需将窗体的高度和宽度设置为屏幕的高度和宽度即可。

  • 禁用拖动(通过设置将WindowState为“最大化”),但任务栏是可见的并启用

  • 禁用拖动(再次使用最大化),隐藏任务栏(通过使用的ShowWindow从coredll ),但窗口是在bottom--切断在任务栏被认为是该地区,它现在显示的空白区域,而不是形式的其余部分像我想

我的过尝试过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 

回答

0
+0

谢谢,但它不完全。它隐藏了任务栏,但它仍然显示空闲空间,而不是让我的程序窗口填满整个屏幕。 – Yves 2014-10-29 08:44:57

+0

你也会想使用'SHFullScreen()'。请参阅我链接到的文章。 – PaulH 2014-10-29 13:46:54

1

尽管WindowsCE的(什么版本你有吗?)的行为有点不同,看看这里:http://www.hjgode.de/wp/2012/05/10/windows-mobile-kiosk-mode-series-part-1/ 虽然我用C#编码应该可以把它翻译成VB。看到这里代码:http://code.google.com/p/weh653kiosmodes/source/browse/trunk/OEMTitleBarHandler/OEMTitleBarHandler/FullScreen.cs

  • 首先隐藏任务栏

  • 使用没有标题栏(没有标题栏)

  • 查询系统屏幕尺寸

  • 调整大小和移动窗体填充屏幕尺寸的窗体或尝试Form.WindowState =最大化。