c#winform窗體的管理
1.api申明//
將指定的應用程式視窗標題欄上的標題複製放入緩衝器
[dllimport(
"user32.dll")]
private
static
extern
intgetwindowtext(
inthwnd, stringbuilder title,
intsize);
//列舉出螢幕上的視窗應用程式
[dllimport(
"user32.dll")]
private
static
extern
intenumwindows(enumwindowsproc ewp,
intlparam);
//返回應用程式視窗是否顯示
[dllimport(
"user32.dll")]
private
static
extern
bool
iswindowvisible(
inthwnd);
//設定應用程式視窗是否顯示
[dllimport(
"user32.dll")]
private
static
extern
bool
showwindowasync(intptr hwnd,
intncmdshow);
//判斷應用程式視窗是否最小化
[dllimport(
"user32.dll")]
private
static
extern
bool
isiconic(
inthwnd);
//判斷應用程式視窗是否最大化
[dllimport(
"user32.dll")]
private
static
extern
bool
iszoomed(
inthwnd);
//將訊息傳給指定視窗
[dllimport(
"user32.dll")]
public
static
extern
intsendmessage(
inthwnd,
uint
msg,
intwparam,
intlparam);
2.遍歷窗體
private
const
intsw_hide =0
;private
const
intsw_shownormal =1
;private
const
intsw_showminimized =2
;private
const
intsw_showmaximized =3
;private
const
intsw_shownoactivate =4
;private
const
intsw_restore =9
;private
const
intsw_showdefault =10
;public
const
intwm_syscommand
=0x0112
;public
const
intsc_close
=0xf060
;private
bool
evalwindow(
inthwnd,
intlparam)
return
true;}
private
void
getwindows()
3.操作窗體hwnd.tostring()="888"
//取得窗體裝態
if(isiconic(convert.toint32(
"888
")))
//窗體最小化
else
if(iszoomed(convert.toint32(
"888
")))
//窗體最大化
else
//原始大小
//關閉程式
sendmessage(
"888
", wm_syscommand, sc_close, 0);
//隱藏程式窗體
if(iswindowvisible(
"888"))
showwindowasync((intptr)convert.toint32(
"888
"), sw_hide);
//顯示並最大化窗體
showwindowasync((intptr)convert.toint32(
"888
"), sw_showmaximized);
//顯示並最小化窗體
showwindowasync((intptr)convert.toint32(
"888
"), sw_showminimized);
//設定窗體為原來大小顯示
showwindowasync((intptr)convert.toint32(
"888
"), sw_restore);
c Winform 載入窗體
先來乙個載入窗體 1 public partial class frmloading form210 11public keyvaluepaircurrentmsg 1217 18 19public frmloading 2029 3031 public void showlog string st...
C winform窗體假死
c winform窗體假死 我們經常會遇到當執行乙個比較大的函式時,窗體會出現假死的現象,給使用者的體驗不是很好,於是我們遇到了問題,那麼就必須解決,我們該如何解決呢,首先在自己的腦裡畫個問號,接下來我們就一起研究吧!先分析,這個問題是如何出現的呢!為什麼會出現,如何避免出現,避免不了的,如何解決等...
C winform ,主窗體呼叫子窗體
問題1,第二次呼叫子窗體時存在出現無法訪問已釋放物件的異常,原因,子窗體並沒有關閉,而是隱藏掛起了,在窗體closing事件 不是closed 中新增 private void registry formclosing object sender,formclosingeventargs e 問題2...