.Net Compact Framework 小技巧(1)
生活随笔
收集整理的這篇文章主要介紹了
.Net Compact Framework 小技巧(1)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在開發過程中都會遇到一些小小的問題,可能這個問題看似簡單,但處理起來就相當的麻煩也說不定.
我將一些自己開發中的小技巧寫出來告訴給大家,希望大家有所幫助.
這篇文章中將介紹如何隱藏起Form右上角的OK/X按鈕,有時候用戶覺得不需要這個按鈕,那去掉它吧~~~~
再次介紹下該按鈕的功能,X表示最小化,OK表示確認并關閉.通常新建一個Form后,默認窗體的最小化是True,所以如果需要顯示OK的話,就需要將該屬性設為False.
隱藏該按鈕需要調用3個API
1?[DllImport("aygshell.dll")]2?private?static?extern?bool?SHDoneButton(IntPtr?hWnd,?UInt32?dwState);
3?
4?[DllImport("coredll.dll")]
5?public?static?extern?UInt32?SetWindowLong(IntPtr?hWnd,?int?nIndex,?UInt32?dwNewLong);
6?
7?[DllImport("coredll.dll")]
8?public?static?extern?UInt32?GetWindowLong(IntPtr?hWnd,?int?nIndex);
SHDoneButton--窗體為OK時,調用此方法即可.
GetWindowLong--獲得指定窗口的信息
SetWindowLong--設置指定窗口的信息,這2個方法結合起來用,才能隱藏X按鈕
具體使用
?1?public?const?UInt32?SHDB_SHOW?=?0x0001;?2?public?const?UInt32?SHDB_HIDE?=?0x0002;
?3?public?const?int?GWL_STYLE?=?-16;
?4?public?const?UInt32?WS_NONAVDONEBUTTON?=?0x00010000;
?5?
?6?///?<summary>
?7?///?隱藏OK按鈕
?8?///?</summary>
?9?///?<param?name="hWnd"></param>
10?public?static?void?HideDoneButton(IntPtr?hWnd)
11?{
12?????SHDoneButton(hWnd,?SHDB_HIDE);
13?}
14?
15?///?<summary>
16?///?隱藏X按鈕
17?///?</summary>
18?///?<param?name="hWnd"></param>
19?public?static?void?HideXButton(IntPtr?hWnd)
20?{
21?????UInt32?dwStyle?=?GetWindowLong(hWnd,?GWL_STYLE);
22?
23?????if?((dwStyle?&?WS_NONAVDONEBUTTON)?==?0)
24?????????SetWindowLong(hWnd,?GWL_STYLE,?dwStyle?|?WS_NONAVDONEBUTTON);
25?}
在實際調用時,只要將窗體的Handle作為參數傳入即可.
隱藏按鈕后,如何打開?
只需要設置窗體的MinimizeBox屬性即可.想顯示OK,設為False.想顯示X,設為True即可.
顯示效果:
顯示OK按鈕
顯示X按鈕
隱藏按鈕
代碼下載:DeviceTechDemo.rar
運行環境:VS2008 + WM6.0 + .net cf3.5
Author:AppleSeeker(馮峰)
Date:2009-2-2
文章導讀:移動開發索引貼
總結
以上是生活随笔為你收集整理的.Net Compact Framework 小技巧(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java并发编程(01):线程的创建方式
- 下一篇: ASP.NET3.5 企业级项目开发 -