C # - не может установить form.height

У меня есть этот код в пару обработчиков событий нажатия кнопки в форме 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, изменение высоты не вступает в силу. Кто-нибудь решил подобную проблему, и что это было за исправление, если так?

11.12.2008 23:47:46
Это работает на других машинах?
recursive 12.12.2008 00:05:19
Без помех. Это единственный случай, когда я видел эту проблему. Единственное, что я могу придумать, - это проблема с видеокартой.
Mike Burton 12.12.2008 00:07:05
3 ОТВЕТА
РЕШЕНИЕ

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

3
12.12.2008 14:05:34

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

2
12.12.2008 02:32:24
Я попробовал несколько настроек соотношения сторон (gpu default, system default, gpu-smart), повернул дисплей, все, но это не имело никакого значения. Мне интересно, есть ли шанс, что мне нужно перезапустить машину, чтобы это вступило в силу.
Mike Burton 12.12.2008 02:42:35
Стоит выстрел. Это звучит очень странно.
MusiGenesis 12.12.2008 03:26:21
Я сбросил DPI со 120 до 96, перезапустил машину и вуаля, мгновенное исправление. Спасибо!
Mike Burton 12.12.2008 22:24:14

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

0
12.12.2008 03:20:42