热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#学习教程:C#Winform多屏幕多显示器编程技巧实例分享

在窗口的中间有一个System.Windows.Forms.PictureBox控件(该控件区域的面积为所在窗口的14),当该控件的大部分区域落在其中一台显示器时,在另一台显示器将

在窗口的中间有一个System.Windows.Forms.PictureBox控件(该控件区域的面积为所在窗口的1/4),当该控件的大部分区域落在其中一台显示器时,在另一台显示器将不显示该控件,(该PictureBox控件将移动到主显示器所在的窗口区域)。 

实现方法:

usingSystem; usingSystem.Drawing; usingSystem.Collections; usingSystem.ComponentModel; usingSystem.Windows.Forms; usingSystem.Data; namespaceWindowsApplication12 { ///

///SummarydescriptionforForm1. /// publicclassForm1:System.Windows.Forms.Form { privateinttmpx=0; privateinttmpy=0; privateSystem.Windows.Forms.PictureBoxpictureBox1; /// ///Requireddesignervariable. /// privateSystem.ComponentModel.COntainercomponents=null; System.Drawing.Rectangle[]ScreensRect; publicForm1() { // //RequiredforWindowsFormDesignersupport // InitializeComponent(); // //TODO:AddanyconstructorcodeafterInitializeComponentcall // } /// ///Cleanupanyresourcesbeingused. /// protectedoverridevoidDispose(booldisposing) { if(disposing) { if(components!=null) { components.Dispose(); } } base.Dispose(disposing); } #regionWindowsFormDesignergeneratedcode /// ///RequiredmethodforDesignersupport-donotmodify ///thecontentsofthismethodwiththecodeeditor. /// privatevoidInitializeComponent() { this.pictureBox1=newSystem.Windows.Forms.PictureBox(); this.SuspendLayout(); // //pictureBox1 // this.pictureBox1.BackColor=System.Drawing.SystemColors.HotTrack; this.pictureBox1.Location=newSystem.Drawing.Point(120,88); this.pictureBox1.Name="pictureBox1"; this.pictureBox1.Size=newSystem.Drawing.Size(248,176); this.pictureBox1.TabIndex=0; this.pictureBox1.TabStop=false; // //Form1 // this.AutoScaleBaseSize=newSystem.Drawing.Size(5,13); this.ClientSize=newSystem.Drawing.Size(504,357); this.Controls.Add(this.pictureBox1); this.Name="Form1"; this.Text="Form1"; this.MouseDown+=newSystem.Windows.Forms.MouseEventHandler(this.Form1_MouseDown); this.Load+=newSystem.EventHandler(this.Form1_Load); this.MouseUp+=newSystem.Windows.Forms.MouseEventHandler(this.Form1_MouseUp); this.ResumeLayout(false); } #endregion /// ///Themainentrypointfortheapplication. /// [STAThread] staticvoidMain() { Application.Run(newForm1()); } privatevoidForm1_MouseDown(objectsender,System.Windows.Forms.MouseEventArgse) { this.tmpx=e.X; this.tmpy=e.Y; this.MouseMove+=newSystem.Windows.Forms.MouseEventHandler(this.form1_MouseMove); } privatevoidForm1_MouseUp(objectsender,System.Windows.Forms.MouseEventArgse) { this.MouseMove-=newSystem.Windows.Forms.MouseEventHandler(this.form1_MouseMove); System.Drawing.RectanglepictureBox1Rect=Screen.GetWorkingArea(pictureBox1); for(inti=0;i 您可能感兴趣的文章:C#实现Winform中打开网页页面的方法C#实现WinForm禁止最大化、最小化、双击标题栏、双击图标等操作的方法C#中如何使用Winform实现炫酷的透明动画界面C#实现winform用子窗体刷新父窗体及子窗体改变父窗体控件值的方法C#WinForm程序处理后台繁忙导致前台控件假死现象解决方法C#实现windowsform拷贝内容到剪贴板的方法C#实现Winform动态添加菜单的方法C#调用dos窗口获取相关信息的方法C#执行DOS命令的方法C#实现在Form里面内嵌dos窗体的方法
标签: fo form info orm 编程技巧 技巧 rm for nf infor

C#设置开机启动项、取消开机启动项

C++中list的使用方法及常用list操作上述就是C#学习教程:C# Winform多屏幕多显示器编程技巧实例分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—编程笔记


推荐阅读
  • 本文探讨了Android系统中联系人数据库的设计,特别是AbstractContactsProvider类的作用与实现。文章提供了对源代码的详细分析,并解释了该类如何支持跨数据库操作及事务处理。源代码可从官方Android网站下载。 ... [详细]
  • 本文探讨了一个Web工程项目的需求,即允许用户随时添加定时任务,并通过Quartz框架实现这些任务的自动化调度。文章将介绍如何设计任务表以存储任务信息和执行周期,以及如何通过一个定期扫描机制自动识别并加载新任务到调度系统中。 ... [详细]
  • 在AngularJS中,有时需要在表单内包含某些控件,但又不希望这些控件导致表单变为脏状态。例如,当用户对表单进行修改后,表单的$dirty属性将变为true,触发保存对话框。然而,对于一些导航或辅助功能控件,我们可能并不希望它们触发这种行为。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • 深入理解iOS中的链式编程:以Masonry为例
    本文通过介绍Masonry这一轻量级布局框架,探讨链式编程在iOS开发中的应用。Masonry不仅简化了Auto Layout的使用,还提高了代码的可读性和维护性。 ... [详细]
  • 本文探讨了在 PHP 的 Zend 框架下,使用 PHPUnit 进行单元测试时遇到的 Zend_Controller_Response_Exception 错误,并提供了解决方案。 ... [详细]
  • This article explores the process of integrating Promises into Ext Ajax calls for a more functional programming approach, along with detailed steps on testing these asynchronous operations. ... [详细]
  • 本文详细介绍了Socket在Linux内核中的实现机制,包括基本的Socket结构、协议操作集以及不同协议下的具体实现。通过这些内容,读者可以更好地理解Socket的工作原理。 ... [详细]
  • UVa 11683: 激光雕刻技术解析
    自1958年发明以来,激光技术已在众多领域得到广泛应用,包括电子设备、医疗手术工具、武器等。本文将探讨如何使用激光技术进行材料雕刻,并通过编程解决一个具体的激光雕刻问题。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • SSE图像算法优化系列三:超高速导向滤波实现过程纪要(欢迎挑战)
    自从何凯明提出导向滤波后,因为其算法的简单性和有效性,该算法得到了广泛的应用,以至于新版的matlab都将其作为标准自带的函数之一了&#x ... [详细]
author-avatar
冬日暖光816
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有