当前位置: 首页 > wzjs >正文

设计网站如何推广方案优化网站的公司哪家好

设计网站如何推广方案,优化网站的公司哪家好,东莞网络,湖南做网站C# 检测显示器被移除,将界面在当前可用的显示器上显示,避免程序在任务栏点击无响应。 using System; using System.Linq; using System.Windows.Forms;public class MonitorWatcher : IDisposable {private readonly Form _targetForm;private Screen …

 C#  检测显示器被移除,将界面在当前可用的显示器上显示,避免程序在任务栏点击无响应。

using System;
using System.Linq;
using System.Windows.Forms;public class MonitorWatcher : IDisposable
{private readonly Form _targetForm;private Screen _currentScreen;private bool _disposed = false;public MonitorWatcher(Form form){_targetForm = form ?? throw new ArgumentNullException(nameof(form));_currentScreen = GetCurrentScreen();// 订阅显示器变化事件SystemEvents.DisplaySettingsChanged += OnDisplaySettingsChanged;}private Screen GetCurrentScreen(){if (!_targetForm.IsHandleCreated || _targetForm.WindowState == FormWindowState.Minimized){return Screen.PrimaryScreen;}return Screen.FromHandle(_targetForm.Handle);}private void OnDisplaySettingsChanged(object sender, EventArgs e){// 检查当前显示器是否仍然存在var allScreens = Screen.AllScreens;bool currentScreenExists = allScreens.Any(s => s.DeviceName == _currentScreen.DeviceName);if (!currentScreenExists){// 当前显示器已移除,迁移到其他显示器MoveToAvailableScreen();}// 更新当前显示器信息_currentScreen = GetCurrentScreen();}private void MoveToAvailableScreen(){var availableScreens = Screen.AllScreens;if (availableScreens.Length == 0){return; // 没有可用显示器}// 选择最合适的显示器(优先主显示器)var targetScreen = availableScreens.FirstOrDefault(s => s.Primary) ?? availableScreens[0];// 计算新位置,确保窗口完全可见var newLocation = CalculateNewPosition(_targetForm, targetScreen);// 移动窗口_targetForm.Location = newLocation;// 如果窗口最大化,先恢复再移动再最大化if (_targetForm.WindowState == FormWindowState.Maximized){_targetForm.WindowState = FormWindowState.Normal;_targetForm.Location = newLocation;_targetForm.WindowState = FormWindowState.Maximized;}}private Point CalculateNewPosition(Form form, Screen screen){// 确保窗口完全在目标显示器的工作区域内Rectangle workingArea = screen.WorkingArea;int newX = workingArea.Left;int newY = workingArea.Top;// 如果窗口大小超过工作区,调整大小if (form.Width > workingArea.Width){form.Width = workingArea.Width;}if (form.Height > workingArea.Height){form.Height = workingArea.Height;}return new Point(newX, newY);}public void Dispose(){if (!_disposed){SystemEvents.DisplaySettingsChanged -= OnDisplaySettingsChanged;_disposed = true;}}
}

调用例子方法

using System;
using System.Windows.Forms;public partial class MainForm : Form
{private MonitorWatcher _monitorWatcher;public MainForm(){InitializeComponent();// 初始化显示器监控_monitorWatcher = new MonitorWatcher(this);// 窗体关闭时释放资源this.FormClosed += (s, e) => _monitorWatcher.Dispose();}
}

如果遇到没有定义的类,使用右键“快速操作和重构...” vs会弹出解决方法,选择弹出的解决方式。

http://www.dtcms.com/wzjs/149646.html

相关文章:

  • 工信部网站备案查询 手机百色seo外包
  • 自己做的网站被举报违反广告法代做百度首页排名
  • 检察院门户网站建设情况总结网站怎么被收录
  • 香港公司能在国内做网站厦门人才网唯一官方网站
  • 销售网站平台搭建百度竞价托管费用
  • 洛阳鼎和电力建设有限公司网站2023重大新闻事件10条
  • 快速网站排名汉狮公司seo技术专员招聘
  • 非遗网站建设目的国家卫健委每日疫情报告
  • 唐山模板网站建设建站abc官方网站
  • dw做aspx网站怎么做app推广和宣传
  • 网站标题应怎设置网站页面优化方法
  • 成都系统网站建设qq群排名优化软件购买
  • 做互联网网站待遇5月疫情最新消息
  • wordpress 主题没有样式表网络排名优化软件
  • 在线营业执照办理太原百度快速优化
  • 部门网站建设总结手机百度快照
  • 如何推广自己的外贸网站互联网广告推广好做吗
  • 网站注册免费永久查权重的软件
  • 网站域名已经被绑定100个经典创意营销方案
  • 网络程序河北seo人员
  • 网站建设7个基十大接单平台
  • php 网站发布建站seo推广
  • 怎么看网站有没有做301网站优化推广培训
  • 网站建设待遇最佳磁力吧ciliba
  • 做外贸 是否需要做中文网站949公社招聘信息
  • 邯郸建设网站的公司软件外包网
  • 我想找个人做网站品牌广告和效果广告的区别
  • 客服外包服务提升seo排名平台
  • 红十字会三合一网站建设方案专业做网站官网
  • 专门做985招聘信息的网站成人用品哪里进货好