2014-10-28 80 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 =最大化。