帶選單的無邊框窗體
前幾天做了乙個窗體,是無邊框的,可是在我加了一些右鍵選單後,窗體的邊框就出來了,很是糾結。後來就上網查了一些資料,終於把邊框去掉了,甚至是邊框處的黑色框線。現在拿出來曬曬。
繼續前一篇的文章自定義形狀窗體,把窗體做成自定義的的形狀後,這時,你進行選單編輯後,可能窗體邊框就又回來了,不急,下面我們就一步把邊框再隱藏起來。
一,首先是一種很直接的解決方案:
要解決這點,vb自身做不到,需要用到api函式
那個邊框,其實是窗體樣式的一種(ws_border),用setwindowlong修改gwl_style即可。
這是宣告塊
private declarefunction setwindowlong lib "user32" alias "setwindowlonga"(byval hwnd as long, byval nindex as long, byval dwnewlong as long) as long
private constgwl_style = (-16)
然後在窗體載入模組中加入
:setwindowlongme.hwnd, gwl_style, lstyleandnotws_sizebox
這時,你的窗體就如你所願了。
二,下面是間接達到目的的方法
1.另外做乙個窗體form2,在form2中設定form1中需要的選單。然後在form1中呼叫form2的右鍵選單。
privatesubform_mousedown(buttonasinteger,shiftasinteger,xassingle,yassingle)
ifbutton=2then
popupmenu form2.popmenu
endif
endsub
2.做乙個使用者自定義控制項,然後新增到窗體中。
靠使用者自定義控制項來實現你的隱式功能,不過這樣就不是右鍵單擊功能了,屬於曲線救國的策略了。
拖動無邊框窗體
frm main.cs 1 using system 2using system.collections.generic 3using system.componentmodel 4using system.data 5using system.drawing 6using system.linq ...
C 移動無邊框窗體
private point mouseoffset private bool ismousedown false private void form1 mousedown object sender,system.windows.forms.mouseeventargs e private void...
WPF 無邊框窗體設定
網路上流傳的無邊框wpf窗體可以說是有點簡陋了.如最大化後無法繼續拖拽移動,最大化後遮住工作列等.我從外網上查詢寫了乙個較為完整的無邊框窗體設定.視窗屬性xaml 視窗陰影xaml 視窗系統邊框屬性xaml 後台 private bool mrestorefordragmove public mai...