C#winform應用程式介面顯示在分螢幕上
阿新 • • 發佈:2018-12-13
最近碰到一個開發專案,該專案需要兩塊顯示器(如下圖所示),主螢幕用於顯示網頁,分螢幕用於顯示客戶端介面。該專案用到的客戶端是用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
版權宣告:本文為博主原創文章,轉載請附上博文連結!