1. 程式人生 > >C#winform應用程式介面顯示在分螢幕上

C#winform應用程式介面顯示在分螢幕上

最近碰到一個開發專案,該專案需要兩塊顯示器(如下圖所示),主螢幕用於顯示網頁,分螢幕用於顯示客戶端介面。該專案用到的客戶端是用C# winform編寫的。拋開客戶端處理的業務邏輯不談,主要談談在winform中如何讓介面出現在第二塊螢幕的中間。

Screen類
C#提供的Screen類可以解決介面位置問題:
-獲取所有的螢幕物件:Screen sc[] = Screen.AllScreens;
-獲取當前螢幕的名稱:string CurrentScreenName = Screen.FromControl(this).DeviceName;
-獲取當前螢幕物件:Screen CurrentScreen = Screen.FromControl(this);
如果只需要介面出現在左邊螢幕正中間(如下圖所示),那程式碼只需要這樣寫就行:

this.StartPosition = FormStartPosition.CenterScreen;
1

但是如果需求是介面出現在右邊螢幕的正中間(如下圖所示)就必須按照下面的程式碼,重寫Onshown方法或者新增程式碼至OnLoad事件。

    protected override void OnShown(EventArgs e)
    {
        Screen[] sc= Screen.AllScreens;
        if (sc.Count() == 2)
        {
           //我的顯示器sc[0]是第二塊螢幕,
            this.Left = sc[0].Bounds.Left + (sc[1].Bounds.Width - this.Width) / 2;
            this.Top = (sc[0].Bounds.Height - this.Height) / 2;
        }
        base.OnShown(e);
    }

作者:做人要有比數
來源:CSDN
原文:https://blog.csdn.net/ch_609583349/article/details/82781644
版權宣告:本文為博主原創文章,轉載請附上博文連結!