Печать формы Visual Studio C# на компьютерах с масштабированными дисплеями - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь распечатать формы в визуальной студии windows приложение для форм. В частности, я хотел бы напечатать вкладки в tabcontrol, но я просто пытаюсь заставить приложение печатать что-либо без ужасной обрезки.

Проблема заключается в масштабировании на windows системах. Мой установлен на 200%, и если я изменю его на 100%, он работает нормально. Я пробовал несколько методов, в основном вещи из документации Microsoft. Заранее спасибо.

private void printToolStripMenuItem_Click(object sender, EventArgs e)
        {
            capture_screen();
            printDocument1.Print();


        }

        private void capture_screen() {

            memoryImage = new Bitmap(this.Width, this.Height);
            this.DrawToBitmap(memoryImage,
                new Rectangle(0, 0, this.Width, this.Height));



            //Graphics myGraphics = tabControl1.CreateGraphics();
            Size s = this.Size;
            //memoryImage = new Bitmap(tabControl1.Width, tabControl1.Height, myGraphics);
            Graphics memoryGraphics = Graphics.FromImage(memoryImage);
            memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);

        }




        private void print_page(System.Object sender,
           System.Drawing.Printing.PrintPageEventArgs e)
        {

            e.Graphics.DrawImage(memoryImage, 0, 0);
        }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...