예제 #1
0
        public MonitorInformationForm(MonitorInfoWithHandle monitorInfoWithHandle)
        {
            InitializeComponent();

            ShowInTaskbar = false;

            // このフォームはモニターに全画面表示するのでタイトルなし、境界なし
            this.FormBorderStyle = FormBorderStyle.None;
            var hilightColorArgb = System.Drawing.SystemColors.Highlight.ToArgb();
            var backColorArgb    = hilightColorArgb | 666666;

            this.BackColor = System.Drawing.Color.FromArgb(backColorArgb);

            this.MonitorInfo = monitorInfoWithHandle;

            // このモニターで最大化表示する
            var monitorRect = this.MonitorInfo.monitorRect;

            this.Top    = monitorRect.top;
            this.Left   = monitorRect.left;
            this.Width  = monitorRect.right - monitorRect.left;
            this.Height = monitorRect.bottom - monitorRect.top;

            this.Location = new Point(monitorRect.left, monitorRect.top);
        }
예제 #2
0
        public static void DebugMonitor(string message, MonitorInfoWithHandle monitorInfoWithHandle)
        {
            var deviceName    = new string(monitorInfoWithHandle.monitorInfo.szDevice).TrimEnd('\0');
            var monitorHandle = monitorInfoWithHandle.monitorHandle;
            var monitorRect   = monitorInfoWithHandle.monitorRect;
            var top           = monitorRect.top;
            var bottom        = monitorRect.bottom;
            var left          = monitorRect.left;
            var right         = monitorRect.right;
            var m             = message + $" : {deviceName} (top={top},bottom={bottom},left={left},right={right}) ( hMonitor={monitorHandle} )";

            Logger.WriteLine(m);
        }