Winform窗口实现多显示屏显示的2种方法

一台主机连接了2台显示器(2个显卡),要求一个程序的两个窗体在不同的显示器上显示:显示器1 显示From1,显示器2  显示From2。代码及说明如下:

Form1不需要变更代码,From2添加如下代码:

// 方法一:

From2 frm2 = new From2();
if (Screen.AllScreens.Count() != 1)
{
  frm2.Left = Screen.AllScreens[0].Bounds.Width;
  frm2.Top = 0;
  frm2.Size = new System.Drawing.Size(Screen.AllScreens[1].Bounds.Width, Screen.AllScreens[1].Bounds.Height);
}
// 方法二:
   this.Left = ((Screen.AllScreens[1].Bounds.Width - this.Width) / 2);
   this.Top = ((Screen.AllScreens[1].Bounds.Height - this.Height) / 2);
   this.Size = new System.Drawing.Size(Screen.AllScreens[1].Bounds.Width, Screen.AllScreens[1].Bounds.Height);

说明:
获取当前系统连接的屏幕数量: Screen.AllScreens.Count();
获取当前屏幕的名称:string CurrentScreenName = Screen.FromControl(this).DeviceName;
获取当前屏幕对象:Screen CurrentScreen = Screen.FromControl(this);
获取当前鼠标所在的屏幕:Screen CurrentScreen = Screen.FromPoint(new Point(Cursor.Position.X, Cursor.Position.Y));

(0)

相关推荐

  • C# Winform使用扩展方法实现自定义富文本框(RichTextBox)字体颜色

    在利用C#开发Winform应用程序的时候,我们有可能使用RichTextBox来实现实时显示应用程序日志的功能,日志又分为:一般消息,警告提示和错误等类别.为了更好地区分不同类型的日志,我们需要使用不同的颜色来输出对应的日志,比如:一般消息为绿色,警告提示的用橙色,错误的用红色字体. 在原生Winform的RichTextBox中,是没有这种设置选项的.如需实现以上描述的功能,我们可以使用.NET的静态扩展方法来处理.实现扩展方法的类和方法本身都必须是静态的,如果你对扩展方法还不是太了解,建议

  • WinForm自定义控件应用实例

    C#的WinForm有一些控件具备自绘的功能,这就意味着你可以对这些控件进行自绘,可以起到意想不到的视觉效果.本文所述的以下控件就是通过一些简单的控件转变过来的.具体示例如下: 1.横向选项卡重绘: 这里的"横向"对话框其实是通过一个TabControl进行"方向旋转".重绘控件项等操作进行实现的.步骤如下: ①.Alignment:用于控制选项卡的方向(设置为Left). ②.SizeMode:用于调整每个选项卡,默认是Normal(非自绘模式),此处应该设置为F

  • WinForm实现自定义右下角提示效果的方法

    本文实例讲述了WinForm实现自定义右下角提示效果的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace IcoFl

  • 解决C# winForm自定义鼠标样式的两种实现方法详解

    第一种:(调用系统API)首先引入两个命名空间 复制代码 代码如下: using System.Runtime.InteropServices;using System.Reflection; 导入API 复制代码 代码如下: [DllImport("user32.dll")]public static extern IntPtr LoadCursorFromFile(string fileName);[DllImport("user32.dll")]public

  • WinForm自定义函数FindControl实现按名称查找控件

    本文所述实例实现WinForm自定义函数FindControl实现按名称查找控件的功能,在C#程序开发中有一定的实用价值.分享给大家供大家参考. 关键代码如下: /// <summary> /// 按名称查找控件 /// </summary> /// <param name="parentControl">查找控件的父容器控件</param> /// <param name="findCtrlName">查

  • WinForm实现为ComboBox绑定数据源并提供下拉提示功能

    本文实例展示了WinForm实现为ComboBox绑定数据源并提供下拉提示功能,这是一个非常有实用价值的功能,具体实现方法如下: 主要功能代码如下: /// <summary> /// 为ComboBox绑定数据源并提供下拉提示 /// </summary> /// <typeparam name="T">泛型</typeparam> /// <param name="combox">ComboBox<

  • c# winform窗口一直置顶显示在桌面最上方或最底层的方法

    一. 在最前面: using System.Runtime.InteropServices; 在定义部分引入下面两个函数: [DllImport( "user32 ")] private static extern IntPtr FindWindow(string lpClassName,string lpWindowName); [DllImport( "user32 ")] private static extern IntPtr SetParent(IntPt

  • C# WinForm窗口最小化到系统托盘

    1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标. 3.添加窗体最小化事件(首先需要添加事件引用): 复制代码 代码如下: this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged); //上面一行是主窗体InitializeComponent()方法中需要添加的引用 private voi

  • C# WinForm中实现快捷键自定义设置实例

    本文源码下载:http://xiazai.jb51.net/201501/tools/cs-key-setting.rar 项目开发过程中,需要实现类似有道词典的软件设置中的自定义快捷键功能,如下图所示: 当我们相继按下Ctrl+Alt+M的时候,软件就会自动将快捷键显示在文本框中. 最终的效果如下图所示: 核心代码如下所示: 复制代码 代码如下: private void keyDown(object sender, KeyEventArgs e) {     StringBuilder ke

  • WinForm开发中屏蔽WebBrowser脚本错误提示的方法

    通常在C#的实际开发过程中,会发现设置其属性ScriptErrorsSuppressed无法达到屏蔽脚本错误效果,但是可以通过下面两种方式实现这一效果. 1.在DocumentCompleted事件中订阅Error处理,代码如下所示: private void wbGoogleMap_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { wbGoogleMap.Document.Window.Erro

随机推荐