操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    C#模擬實現QQ窗體功能

    案例簡述

    通過C#使用類似QQ窗體的功能,當窗體放置到屏幕的邊緣,可以將窗體隱藏c#窗口內文字顯示位置,當鼠標再次放置到屏幕邊緣時,窗體可再次顯示。

    預備知識導圖

    功能結構

    由于本案例主要通過窗體和鼠標位置句柄的比對,以及判斷窗體在屏幕的位置,進行窗體的移動和隱藏。窗體的隱藏通過時間控件循環。涉及的功能如下

    關鍵代碼

    //利用C#中Cursor.Position屬性和Point結構
    Point CPoint;//定義鼠標的坐標
    CPoint = new Point(Cursor.Position.X,Cursr.Position.Y);
    

    任務欄不顯示窗口alt+tab就顯示_mac顯示所有窗口_c#窗口內文字顯示位置

    /* int a,b; a= CPoint.X;//鼠標坐標的X值 b= CPoint.Y;//鼠標坐標的Y值 */ //在創建獲取鼠標下可視化控件句柄方法前,需要調用windows系統api函數user32.dll。 #region API聲明 //獲取當前鼠標下可視化控件的句柄 [DllImport("user32.dll")] public static extern int WindowFromPoint(int xPoint, int yPoint); //獲取指定句柄的父級句柄

    任務欄不顯示窗口alt+tab就顯示_c#窗口內文字顯示位置_mac顯示所有窗口

    [DllImport("user32.dll", ExactSpelling = true, CharSet = CharSet.Auto)] public static extern IntPtr GetParent(IntPtr hWnd); //獲取屏幕的大小 [DllImport("user32.dll", EntryPoint = "GetSystemMetrics")] private static extern int GetSystemMetrics(int mVal); #endregion #region 獲取當前鼠標下可視化控件的句柄 /// /// 獲取當前鼠標下可視化控件的句柄 ///

    任務欄不顯示窗口alt+tab就顯示_mac顯示所有窗口_c#窗口內文字顯示位置

    /// 當前鼠標的X坐標 /// 當前鼠標的Y坐標 public IntPtr FormNameAt(int x, int y) { IntPtr Tem_hWnd;//設置存儲句柄的變量 Tem_Handle = (IntPtr)(WindowFromPoint(x, y));//獲取當前鼠標下可視化控件的句柄 Tem_hWnd = Tem_Handle;//記錄原始句柄 while (Tem_hWnd != ((IntPtr)0))//遍歷該句柄的父級句柄 { Tem_Handle = Tem_hWnd;//記錄當前句柄 Tem_hWnd = GetParent(Tem_hWnd);//獲取父級句柄 } return Tem_Handle;//返回最底層的父級句柄 } #endregion

    知識點分析C#基礎知識

    :表示一個帶符號整數,其中位寬度與指針相同。即用來表示指針或句柄、它是一個平臺特定類型,另外關于(0)作用等同于.Zero,在MSDN的介紹如下

    此字段的值不等效于 null。 使用此字段可以有效地確定 的 實例是否已設置為非零值。

    例如,假設變量 ip 是 的 實例。 可以通過將它與構造函數返回的值進行比較來確定它是否已設置,例如:“ if ip != new (0)… ”。 但是,調用構造函數來獲取未初始化的指針效率低下。 最好對“” if ip != .Zero… 或“”“ if !.Zero.(ip)… 進行編碼。

    mac顯示所有窗口_c#窗口內文字顯示位置_任務欄不顯示窗口alt+tab就顯示

    Point:常用的方法為保存鼠標的坐標,MSDN介紹如下:

    提供有序的 x 坐標和 y 坐標整數對,該坐標對在二維平面中定義一個點。

    :命名空間為..,作用是提供非托管DLL導出的函數的必要調用信息,比如系統的API函數。在調用時c#窗口內文字顯示位置,需要提供包含入口點的dll名稱。如[(“.dll”)]。用 屬性修飾的方法必須具有 修飾符

    另外對于有五個命名參數,詳細描述如下:

    命名參數名稱描述說明

    參數指示入口點的調用約定。如果未指,則使用默認值

    .

    用在入口點中的字符集。如果未指定 ,則使用默認值

    .Auto

    任務欄不顯示窗口alt+tab就顯示_mac顯示所有窗口_c#窗口內文字顯示位置

    給出 dll 中入口點的名稱。如果未指定 ,則使用方法本身的名稱

    指示 是否必須與指示的入口點的拼寫完全匹配。如果未指定 ,則使用默認值 false

    方法的簽名應當被保留還是被轉換。當簽名被轉換時,它被轉換為一個具有 返回值和該返回值的一個名為 的附加輸出參數的簽名。如果未指定 ,則使用默認值 true。

    方法是否保留 Win32"上一錯誤"。如果未指定 ,則使用默認值 false。

    :表示單個系統上的一個或多個顯示設備。本案例用到的地方為獲取屏幕邊界

    this.=.[0]..;其他常用的方法是將軟件中的多個窗體,在主屏幕運行,但是把各個窗體(坐標)移動到各個擴展屏幕位置。

    系統知識

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有