当从不同的操作系统运行C#Web窗体按钮大小时

问题描述:

当我从Windows 7和Windows Server 2003运行Web窗体时,我无法弄清楚为什么我的Web窗体按钮更改大小。我在页面上设置了定位和大小加载所有对象。以下是我正在使用的几个对象的示例。当从不同的操作系统运行C#Web窗体按钮大小时

Label1.Style.Add("Position", "fixed"); 
Label1.Style.Add("TOP", "20px"); 
Label1.Style.Add("Left", "50px"); 

btnQuery.Style.Add("Position", "fixed"); 
btnQuery.Style.Add("TOP", "370px"); 
btnQuery.Style.Add("Left", "198px"); 

这些按钮具有相同的3个条目。当我从我的本地Windows 7 PC上运行它时,一切看起来都很棒。但是,当我将这些内容发布到我的Server 2003站点时,这些按钮的长度增加了大约5倍,并相互覆盖。我的标签,文本框和列表框都很好。它只是按钮。是因为我在Windows 7上开发吗?另外,我在Visual Studio 2010 Framework 4中执行此操作。

您只设置按钮的上/左位置,但不是大小......如果未指定,则Web浏览器可以*地使按钮看起来不管他们想要的。

假设这个Style.Add方法实际上转化为CSS,尝试添加:

btnQuery.Style.Add("height", "120px"); 
btnQuery.Style.Add("width", "300px"); 

然后调整那些你想要的所以它的大小。

一般来说,我建议不要使用固定位置,但这是一个不同的故事。

+0

工作。谢谢。 – Matt 2011-05-11 22:09:45

它们正在改变,因为您正在以像素为单位给出大小。如果用户具有不同的屏幕分辨率,则会改变按钮相对于屏幕的大小。使用相对大小来解决这个问题。这不取决于操作系统,可能就像它。