欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解C#應(yīng)用程序如何實現(xiàn)多屏顯示

 更新時間:2024年05月02日 08:06:17   作者:anlog  
這篇文章主要為大家詳細(xì)介紹了C#如何實現(xiàn)把主屏運行程序中多個窗體移動到各個擴展屏幕位置顯示,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

前言

隨著業(yè)務(wù)發(fā)展,應(yīng)用程序在一些特定場景下,只在一個顯示器上展示信息已經(jīng)不能滿足用戶需求。我們?nèi)绾伟阎髌吝\行程序中多個窗體移動到各個擴展屏幕位置顯示呢?C# 是通過什么方式來實現(xiàn)的,下面介紹 C# 使用 Screen 類的方式來實現(xiàn)。

詳細(xì)

Screen 是在 System.Windows.Forms 下的一個類,它表示單個系統(tǒng)上的一個或多個顯示設(shè)備。

屬性

名稱描述
AllScreens獲取系統(tǒng)上所有顯示器
Bounds獲取顯示的邊界
Primary顯示是否為顯示器
PrimaryScreen獲取主顯示器
WorkingArea顯示器的工作區(qū)

方法

下表是常用的一些方法:

名稱描述
FromControl(Control)檢索包含指定控件的最大部分的顯示器。
GetBounds(Control)檢索包含指定控件的最大部分的顯示器的邊界。
GetWorkingArea(Control)檢索包含指定控件的最大區(qū)域的顯示器工作區(qū)。

注意:Screen 只適用于.NET 4.8.1 以下或.NET 7 以上的Windows 桌面應(yīng)用程序。

示例

 本示例在第二個顯示屏同步顯示主屏掃描產(chǎn)品后顯該產(chǎn)品的圖片,方便操作人員更清晰的核對產(chǎn)品信息。示例也用多了C#事件知識點。

參數(shù)用于傳遞信息

using System;
using System.Drawing;


namespace Fountain.WinForm.MultiMonitor
{
    /// <summary>
    /// 事件參數(shù)
    /// </summary>
    public class SyncEventArg : EventArgs
    {
        /// <summary>
        /// 產(chǎn)品編碼
        /// </summary>
        public string ProductNo { get; set; }
        /// <summary>
        /// 產(chǎn)品圖片
        /// </summary>
        public Image ProductImage { get; set; }
    }
}

輔助顯示界面

using System;
using System.Windows.Forms;


namespace Fountain.WinForm.MultiMonitor
{
    public partial class SecondForm : Form
    {
        public SecondForm()
        {
            InitializeComponent();
        }
        /// <summary>
        /// 響應(yīng)事件處理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        internal void SysncTextChaned(object sender, EventArgs e)
        {
            try
            {
                //取到主窗體的傳來的文本
                SyncEventArg arg = e as SyncEventArg;
                this.LabelTrackingNo.Text = arg.ProductNo;
                this.PictureBoxProduct.Image = arg.ProductImage;
            }
            catch
            {
            }
        }
    }
}

程序主界面

using System;
using System.Drawing;
using System.Windows.Forms;


namespace Fountain.WinForm.MultiMonitor
{
    public partial class MainForm : Form
    {
        //使用默認(rèn)的事件處理委托,定義消息發(fā)布者事件
        public event EventHandler SendMsgEvent;
        /// <summary>
        /// 
        /// </summary>
        public MainForm()
        {
            InitializeComponent();
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MainForm_Load(object sender, EventArgs e)
        {
            try
            {
                SecondForm secondForm = new SecondForm();
                // 事件的訂閱 
                SendMsgEvent += secondForm.SysncTextChaned;


                // 獲取系統(tǒng)上所有顯示器
                Screen[] screens = Screen.AllScreens;
                // 判斷多屏
                if (screens.Length >1 ) 
                {
                    // 獲取第二個屏幕
                    Screen screen = screens[1];
                    secondForm.StartPosition = FormStartPosition.Manual;
                    // 在 第二個屏幕 顯示第二個窗體
                    secondForm.Location = screen.Bounds.Location;
                }
                // 顯示輔助界面
                secondForm.Show();
            }
            catch 
            {
            }   
        }
        /// <summary>
        /// 文本輸入框回車事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TextBoxProductNo_KeyDown(object sender, KeyEventArgs e)
        {
            try
            {
                if (e.KeyCode != Keys.Enter)
                {
                    return;
                }
                if (string.IsNullOrEmpty(this.TextBoxProductNo.Text))
                {
                    return;
                }
                Image image = Image.FromFile("P000001.png");
                // 事件觸發(fā)通知
                SendMsgEvent(this, new SyncEventArg() { ProductNo = this.TextBoxProductNo.Text, ProductImage = image });
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
}

小結(jié)

以上是使用C#中Screen類來實現(xiàn)桌面應(yīng)用程序不同界面在多個顯示器上展示信息。希望通過本文的簡單案例能擴展大家思路。

到此這篇關(guān)于詳解C#應(yīng)用程序如何實現(xiàn)多屏顯示的文章就介紹到這了,更多相關(guān)C#多屏顯示內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#使用正則表達式實現(xiàn)首字母轉(zhuǎn)大寫的方法

    C#使用正則表達式實現(xiàn)首字母轉(zhuǎn)大寫的方法

    這篇文章主要介紹了C#使用正則表達式實現(xiàn)首字母轉(zhuǎn)大寫的方法,涉及C#基于正則表達式操作字符串的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • C#實現(xiàn)嵌套循環(huán)的示例代碼

    C#實現(xiàn)嵌套循環(huán)的示例代碼

    這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)嵌套循環(huán)的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-09-09
  • C# .NET中Socket簡單實用框架的使用教程

    C# .NET中Socket簡單實用框架的使用教程

    最近一個項目因為要用到Socket傳輸問題,所以決定學(xué)習(xí)一下,將自己學(xué)習(xí)的內(nèi)容總結(jié)分享出來,下面這篇文章主要給大家介紹了關(guān)于C# .NET中Socket簡單實用框架使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-09-09
  • C#自定義事件之屬性改變引發(fā)事件示例

    C#自定義事件之屬性改變引發(fā)事件示例

    這篇文章主要為大家詳細(xì)介紹了C#自定義事件之屬性改變引發(fā)事件示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • C#實現(xiàn)泛型List分組輸出元素的方法

    C#實現(xiàn)泛型List分組輸出元素的方法

    這篇文章主要介紹了C#實現(xiàn)泛型List分組輸出元素的方法,涉及C#針對List的遍歷、排序、輸出等相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • 用C#編寫獲取遠程IP,MAC的方法

    用C#編寫獲取遠程IP,MAC的方法

    用C#編寫獲取遠程IP,MAC的方法...
    2007-04-04
  • Json操作庫DynamicJson使用指南

    Json操作庫DynamicJson使用指南

    本文給大家分享的是專門為.NET程序員開發(fā)的Json操作庫DynamicJson,其源碼非常簡單,僅僅只有400行代碼,一個對應(yīng)的class類,目前只支持.NET 4.0以上的.NET Framework。
    2016-09-09
  • C#實現(xiàn)合并多張圖片為GIF動態(tài)圖

    C#實現(xiàn)合并多張圖片為GIF動態(tài)圖

    這篇文章主要為大家詳細(xì)介紹了C#如何將把一張又一張的圖片去拼合成一張GIF動態(tài)圖片,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-12-12
  • C#實現(xiàn)寫入文本文件內(nèi)容的方法

    C#實現(xiàn)寫入文本文件內(nèi)容的方法

    這篇文章主要介紹了C#實現(xiàn)寫入文本文件內(nèi)容的方法,涉及C#針對文本文件的判斷、創(chuàng)建及寫入等相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Unity shader實現(xiàn)頂點動畫波動效果

    Unity shader實現(xiàn)頂點動畫波動效果

    這篇文章主要為大家詳細(xì)介紹了Unity shader實現(xiàn)頂點動畫波動效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04

最新評論