C # - не может установить form.height - PullRequest
4 голосов
/ 12 декабря 2008

У меня есть этот код в паре обработчиков событий нажатия кнопки в форме C #:

class frmLogin
{
    private const int SHORT_HEIGHT = 120;
    private const int LONG_HEIGHT = 220;

    private EventHandler ExpandHandler;
    private EventHandler ShrinkHandler;

    public frmLogin()
    {
        InitializeComponent();
        ExpandHandler = new EventHandler(btnExpand_Click);
        ShrinkHandler = new EventHandler(btnShrink_Click);
        btnExpand.Click += ExpandHandler;
    }

    private void btnExpand_Click(object sender, EventArgs e)    
    {
        this.Height = LONG_HEIGHT;
        btnExpand.Text = "<< Hide Server";
        btnExpand.Click -= ExpandHandler;
        btnExpand.Click += ShrinkHandler;
    }

    private void btnShrink_Click(object sender, EventArgs e)
    {
        this.Height = SHORT_HEIGHT;
        btnExpand.Text = "Choose Server >>";
        btnExpand.Click -= ShrinkHandler;
        btnExpand.Click += ExpandHandler;
    }
}

Изменение текста происходит без проблем, но на одном конкретном клиентском компьютере, рабочей станции Dell M4300, изменение высоты не вступает в силу. Кто-нибудь решил подобную проблему, и что это было за исправление, если так?

Ответы [ 3 ]

3 голосов
/ 12 декабря 2008

Мое предположение: размер шрифта DPI или системного шрифта на этом компьютере отличается, и AutoScaleMode вашей формы имеет значение «Font» или «Dpi», поэтому MinimumSize или MaximumSize вашей формы предотвращают изменение.

2 голосов
/ 12 декабря 2008

Проверьте режим отображения для ноутбука и, в частности, проверьте настройку соотношения сторон. Иногда ноутбуки делают странные вещи, чтобы облегчить широкий, короткий экран.

0 голосов
/ 12 декабря 2008

Убедитесь, что у вас нет одного из этих свойств AutoScale / Size / Wh независимо от true.

...