急!求助——winform程序到别的电脑上布局变乱

yoyo_fan_503 2010-09-02 06:03:25
做了一个winform程序,界面上排列了很多Lable和TextBox,在我自己的电脑上运行好好的,拷贝到别人电脑上,标签和文本框就不是按原有的位置排列,都挤在一起了,文本框把标签遮盖住了。。。

我搜索了好久,都没有找到相关资料。求大侠们帮助。谢谢!
...全文
404 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
才才 2013-01-05
  • 打赏
  • 举报
回复
Application.EnableVisualStyles();//删掉这样有用。 我是正常启动一个主界面,然后使用Process 启动另外一个程序,如果不删上面那句,那么使用Process 启动的程序,界面布局就会乱。将用Process 启动的那个程序的Application.EnableVisualStyles();//删掉 ,就正常了。
yoyo_fan_503 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 yangglemu 的回复:]
楼主说"为了更保险起见,在每个form的构造函数里加上 this.Font = new Font("Arial", 9)"
其实可以用一下面向对象的三大特性之一:继承.
[/Quote]
呼呼……收到~ 当时没想那么多 谢谢!
  • 打赏
  • 举报
回复
楼主说"为了更保险起见,在每个form的构造函数里加上 this.Font = new Font("Arial", 9)"
其实可以用一下面向对象的三大特性之一:继承.
yoyo_fan_503 2010-09-03
  • 打赏
  • 举报
回复
问题解决啦…… 谢谢各位大虾的鼎立相助……。特别是@wangxiao2008 这位帅哥or(美女)。。。

问题原因:我电脑上的字体对方可能没有,中文系统可能不支持带小数位的size(我的程序form字体大小为8.25pt)
解决办法:将所有form字体改为Arial, 9pt;(主要原因应该是size)
为了更保险起见,在每个form的构造函数里加上 this.Font = new Font("Arial", 9)【字体格式视情况而定】

总结:以后做系统一定要把字体大小设置为整数!!!
yoyo_fan_503 2010-09-03
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 glest 的回复:]
建议:在变乱的电脑上调试程序,哈哈。
[/Quote]
试过了……。。。他那边可以了。我这里又乱了…… 呜呜…… 呜呜……
wangxiao2008 2010-09-03
  • 打赏
  • 举报
回复
如果不是系统问题,winform一般是不会变形的。
wangxiao2008 2010-09-03
  • 打赏
  • 举报
回复
看看这个有没有帮助
http://blog.csdn.net/wangxiao2008/archive/2009/07/08/4330875.aspx
gs0038 2010-09-03
  • 打赏
  • 举报
回复
如果中英文版的话你的控件的宽度跟长度不能让它按字体自动设置,
你得把自己设置宽度跟高度,一般宽度见多,所以把AotuSize设成false
然后设置文字对齐,手动调整宽度(要故意放宽些,大概两个版的文字差不多宽)
然后设置控件对齐
OK这样就不会有乱掉了
DevinHu 2010-09-03
  • 打赏
  • 举报
回复
1.可以把你的窗体给个固定大小,不让其最大化!

2.用FlowLayoutPanel控件
yylooker2008 2010-09-03
  • 打赏
  • 举报
回复
mark下,等待答案!
yuzhi1984 2010-09-03
  • 打赏
  • 举报
回复
遇到同样的问题,郁闷很久了
glest 2010-09-03
  • 打赏
  • 举报
回复
建议:在变乱的电脑上调试程序,哈哈。
glest 2010-09-03
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 yoyo_fan_503 的回复:]

引用 12 楼 intotheland 的回复:
Application.EnableVisualStyles();//这行删除掉试试看?


弱弱的问一句 这个东东是在哪里呀……...
[/Quote]

program.cs中的main函数里面,如果是C#的话
yoyo_fan_503 2010-09-03
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 lz00728 的回复:]
把Lable和TextBox等控件锁定试试~
[/Quote]
试过了 没有效果
yoyo_fan_503 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 intotheland 的回复:]
Application.EnableVisualStyles();//这行删除掉试试看?
[/Quote]

弱弱的问一句 这个东东是在哪里呀……...
yoyo_fan_503 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 feg545 的回复:]
设置各控件的anchor和DOCK属性
[/Quote]
试过了。没用。

据了解,应该是中英文系统的问题。。。可是不知道怎么解决啊
lz00728 2010-09-02
  • 打赏
  • 举报
回复
把Lable和TextBox等控件锁定试试~
intotheland 2010-09-02
  • 打赏
  • 举报
回复
Application.EnableVisualStyles();//这行删除掉试试看?
jointan 2010-09-02
  • 打赏
  • 举报
回复
还有一种可能是,你用了私有的配置文件(App.Config),这个配置会修改某几个控件的布局,在你的系统上,每次都读取的是你的这个配置文件,而其他电脑上是新建的,取得默认值
jointan 2010-09-02
  • 打赏
  • 举报
回复
莫非是两台机器安装的.Net的SP版本不同造成的?
加载更多回复(8)

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧