Example #1
0
        public void SetForm_Capture()
        {
            int width  = 0;
            int height = 0;
            int minX   = int.MaxValue;
            int minY   = int.MaxValue;

            // 全ディスプレイの幅と高さをそれぞれ合計
            //System.Windows.Forms.Screen s = System.Windows.Forms.Screen.PrimaryScreen;
            System.Windows.Forms.Screen leftup_s = System.Windows.Forms.Screen.PrimaryScreen;
            foreach (System.Windows.Forms.Screen s in System.Windows.Forms.Screen.AllScreens)
            {
                height = height + s.Bounds.Height;
                width  = width + s.Bounds.Width;
                if (s.Bounds.X < minX)
                {
                    minX     = s.Bounds.X;
                    leftup_s = s;
                }
                if (s.Bounds.Y < minY)
                {
                    minY     = s.Bounds.Y;
                    leftup_s = s;
                }
            }

            // 画面の高さと幅をグローバル変数に設定
            ClsCapture.dHeight = height;
            ClsCapture.dWidth  = width;

            //左上座標を設定
            ClsCapture.minX = minX;
            ClsCapture.minY = minY;

            FormCaptureSheet fc = new FormCaptureSheet();

            // 'キャプチャウィンドウの位置と大きさの設定
            FormCaptureSheet fCaptureSheet = new FormCaptureSheet();

            fCaptureSheet.Opacity       = 0.4;
            fCaptureSheet.StartPosition = FormStartPosition.Manual;
            fCaptureSheet.Location      = leftup_s.Bounds.Location;
            fCaptureSheet.Width         = width;
            fCaptureSheet.Height        = height;
            fCaptureSheet.ShowDialog();
        }