我在 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;
    }
}

文本更改没有问题,但在一台特定的客户端机器上,戴尔 M4300 笔记本电脑工作站,高度更改不会生效。有没有人解决过类似的问题,如果是这样,修复是什么?

最佳答案

我的猜测:该机器上的 DPI 或系统字体大小不同,并且您表单的 AutoScaleMode 是“字体”或“Dpi”,使您的表单的 MinimumSize 或 MaximumSize 阻止更改。

关于C# - 无法设置 form.height,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/361457/

10-13 07:07