C# - 无法设置form.height

时间:2008-12-11 23:47:46

标签: c# winforms .net-2.0

我在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 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

检查笔记本电脑的显示模式,特别是检查宽高比设置。有时笔记本电脑会做一些奇怪的事情来促进宽屏短屏。

答案 2 :(得分:0)

确保您没有将其中一个AutoScale / Size / Whatever属性设置为true。