一、無邊框窗體
1 最大化、最小化以及關閉按鈕製作
實際上就是更換點選前、指向時、點選時的
\..\資料夾名稱... 向上翻乙個資料夾,上面的第乙個\是轉義
\\1.png
");2 窗體動起來
呼叫窗體移動的api,如果有其它控制項覆蓋了窗體,那麼寫好滑鼠按下的事件委
託就可以了
//窗體移動api
[dllimport("
user32.dll")]
public
static
extern
bool
releasecapture();
[dllimport(
"user32.dll")]
public
static
extern
bool sendmessage(intptr hwnd, int wmsg, int wparam, int
iparam);
public
const
int wm_syscommand = 0x0112
;
public
const
int sc_move = 0xf010
;
public
const
int htcaption = 0x0002
; [dllimport(
"user32")]
private
static
extern
int sendmessage(intptr hwnd, int wmsg, int
wparam, intptr lparam);
private
const
int wm_setredraw = 0xb;//
記住:在窗體的mousedown事件中 一定要選擇form1_mousedown
private
void form1_mousedown(object
sender, mouseeventargs e)
}
3 讓窗體有陰影
//陰影//
寫在建構函式上面
private
const
int cs_dropshadow = 0x20000
;
private
const
int gcl_style = (-26
); [dllimport(
"user32.dll
", charset =charset.auto)]
public
static
extern
int setclasslong(intptr hwnd, int nindex, int
dwnewlong);
[dllimport(
"user32.dll
", charset =charset.auto)]
public
static
extern
int getclasslong(intptr hwnd, int
nindex);
//寫在建構函式中
setclasslong(this.handle, gcl_style, getclasslong(this.handle, gcl_style) | cs_dropshadow);
二、後台建立控制項
(1)建立
picturebox p = new picturebox();//建立控制項,例項化控制項
//設定
建立textbox控制項,例項化
flowlayoutpanel1.controls.add(p);
//放入流式布局的集合中
flowlayoutpanel1.controls.add(tb);
(2)更改控制項屬性
foreach (control ct inflowlayoutpanel1.controls)
}
三、使用者控制項
1 是由其它控制項所組成的一種使用者自定義控制項
使用者控制項的主體與panel相似,但是它卻又是獨立的乙個類
2 建立
新建項--使用者控制項--命名(當成乙個panel使用)--放入其他控制項,所有內部
的控制項訪問許可權都要修改。
建立完成後顯示在工具箱。
3 使用
例項化 yonghu yh=new yonghu();//yonghu是我給我建立的這個起的名字
賦值 yh.textbox1.text="";
放入流式布局
4 可以給使用者控制項及其中的控制項加上滑鼠事件
四、timer在元件裡:
enabled - 此控制項是否啟用
interval - 間隔時間,毫秒
tick事件 - 間隔指定時間後要執行的**段
timer就是個執行緒,這個執行緒預設可以跨執行緒訪問物件
拖動無邊框窗體
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...