好贷网好贷款

C#WinForm窗體的管理

发布时间:2016-12-4 3:50:32 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"C#WinForm窗體的管理",主要涉及到C#WinForm窗體的管理方面的内容,对于C#WinForm窗體的管理感兴趣的同学可以参考一下。

C#WinForm窗體的管理   1.API申明         //將指定的應用程序窗口標題欄上的標題復制放入緩衝器        [DllImport("user32.dll")]        private static extern int GetWindowText(int hWnd, StringBuilder title, int size);        //列舉出屏幕上的窗口應用程序        [DllImport("user32.dll")]        private static extern int EnumWindows(EnumWindowsProc ewp, int lParam);        //返回應用程序窗口是否顯示        [DllImport("user32.dll")]        private static extern bool IsWindowVisible(int hWnd);        //設置應用程序窗口是否顯示        [DllImport("user32.dll")]        private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);        //判斷應用程序窗口是否最小化        [DllImport("user32.dll")]        private static extern bool IsIconic(int hwnd);        //判斷應用程序窗口是否最大化        [DllImport("user32.dll")]        private static extern bool IsZoomed(int hwnd);        //將消息傳給指定窗口        [DllImport("user32.dll")]        public static extern int SendMessage(int hWnd,uint Msg,int wParam,int lParam); 2.遍歷窗體         private const int SW_HIDE = 0;        private const int SW_SHOWNORMAL = 1;        private const int SW_SHOWMINIMIZED = 2;        private const int SW_SHOWMAXIMIZED = 3;        private const int SW_SHOWNOACTIVATE = 4;        private const int SW_RESTORE = 9;        private const int SW_SHOWDEFAULT = 10;        public const int WM_SYSCOMMAND = 0x0112;        public const int SC_CLOSE = 0xF060;        private bool EvalWindow(int hWnd, int lParam)        {//檢測指定窗體            if (!IsWindowVisible(hWnd))                return true;            StringBuilder strTitle = new StringBuilder(256);            GetWindowText(hWnd, strTitle, 256);            if (strTitle.Length == 0)                return true;            if ((strTitle.ToString() != "ScrnClear"))            {                if (IsIconic(hWnd))                    //窗體已最小化時的操作                else if (IsZoomed(hWnd))                    //窗體已最大化時的操作                else                    //窗體原始大小時的操作            }            return true;        }        private void GetWindows()        {            EnumWindowsProc ewp = new EnumWindowsProc(EvalWindow);            EnumWindows(ewp, 0); } 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);

上一篇:怎么在ultrawebgrid控件中的某一列中加入DropDownList控件?
下一篇:想成为嵌入式程序员应知道的10个基本问题(必须精读)

相关文章

相关评论