2012-08-09 81 views
0

我在這裏遇到了一些問題。我試圖在整個屏幕上繪製一些東西,我有一個沒有可見邊框的全屏幕窗體,但是,我無法繪製邊框位置,所以會有大約20+像素的空間,沒有繪製任何東西。邊緣。我想我能夠擴大窗口大小,使其從底部和右側越過屏幕,但是不能將位置設置爲小於0,0,因此頂部和左側邊框仍然擋住我的繪圖。通過MS窗體邊框繪製

說得很簡單:我怎樣才能在邊界上畫畫?

回答

1

一種方法是徹底擺脫邊界。您可以根據需要繪製自己的模擬邊框。

爲此,請將ControlBox屬性設置爲false。將窗體的Text屬性設置爲string.Empty。將邊框設置爲FixedDialog以使表單不可重新定義。

爲了仍然能夠表格必須覆蓋的WndProc這樣的移動:

protected override void WndProc(ref Message message) 
{ 
    switch (message.Msg) 
    { 
     case 0x84: 
      message.Result = new IntPtr(0x2); 
      return; 
    } 

    base.WndProc(ref message); 
} 

該代碼技巧的Windows以爲對非客戶區是鼠標點擊實際上是在標題欄。

請參閱http://msdn.microsoft.com/en-us/library/ms645618%28VS.85%29.aspx

+0

這樣做,沒有幫助真的。邊界已經消失,雖然我已經把它們放在早些時候了,但是在屏幕左側和頂部有一個小的空白區域,我無法畫出來,因爲如果它們在那裏,邊界就是這樣。設置表單位置讓0,0實際上將邊框邊緣設置爲該位置,這意味着我可以繪製的實際表單不存在,留下了我無法繪製的空白空間。 – MythicManiac 2012-08-09 12:06:53