2008-12-11 63 views
4

我有一个C#形式的一对按钮单击事件处理程序的代码:C# - 不能设置form.height

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笔记本电脑工作站,高度变化不起作用。有没有人解决了类似的问题,如果是这样的话修复了什么?

+0

它可以在其他机器上工作吗? – recursive 2008-12-12 00:05:19

+0

游泳。这是我见过这个问题的唯一案例。我能想出的唯一概念是它是一个显卡问题。 – 2008-12-12 00:07:05

回答

3

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

2

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

0

请确保您没有AutoScale/Size/Whatever属性之一设置为true。