Новая форма не сообщает свой размер, как я ожидаю - PullRequest
0 голосов
/ 07 ноября 2018

Продолжить из-за проблемы неправильного размера оверлейного окна. Итак, вот минимальная система:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.Size = new Size(1920, 1080);
            MessageBox.Show("x:" + this.Size.Width + " y:" + this.Size.Height);
        }
    }
}

image

It says my window size is 1438x818 (even though it does appear to fill the desktop area of the screen)....

Did some new research The problem starts to occur when my size is set larger than 14xx by 83x Any size larger than that will be restricted to 14xx by 83x if I say

this.size = new Size (500,500);

then it is okay...

[Final edit] Well. I think I found the problem. https://social.msdn.microsoft.com/Forums/vstudio/en-US/60e3b413-7746-46d4-8351-0c7f4e38378f/does-form-size-has-any-limitation-like-maximum-width-or-maximum-height?forum=netfxbcl

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

Что мне нужно сделать, так это отобразить логическую координату чего-либо в моей форме на новую мировую координату, основанную на масштабном соотношении 1436/1920. Проблема обойдена.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Размер формы должен быть меньше или равен текущему размеру экрана.

Кроме того, вы можете изменить размер ClientSize формы на

this.ClientSize = new System.Drawing.Size (1920, 1080);

0 голосов
/ 07 ноября 2018

Если вы хотите установить размер как 1920x1080, вы можете попробовать это.

this.MinimumSize = new Size(1920, 1080);
this.MaximumSize = new Size(1920, 1080);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...