返回首页

您好,

我做了一个桌面应用程序使用C#。于一体的形式,很少有标签控件的存在。按要求,我在运行时移动标签的位置,像下面的

LabelName.Location = System.Drawing.Point(100,100);
问题是,这个应用程序,世界各地的优良工作(许多国家)。没有它给除在中国的问题。有标签的位置变化比我们在代码中给更多。在这里,我们试图重现的bug,在许多方面(通过改变分辨率,测试Windows 7和其他操作系统等,通过改变对中国的语言设置)。但在所有情况下,标签位置来完全应该的。

请你能帮助我吗?

最好的问候
阿贾伊

回答

评论会员:SAKryukov 时间:2012/02/04
问题,因为它是制定并没有在原则的意义:所有控件的所有位置始终设置在运行时,即使你不使用中的问题显示的行。什么叫做"设计时间"是一个纯粹的小说:你只在布局决定在设计过程中使用的设计时间,但布局本身在运行时执行。看看由设计器生成的代码,看到这是怎么回事。

一般来说,使用绝对坐标控制,是一个坏主意。你应该使用Dock和填充(形式;也有类似的事情在WPF)。尝试这样做,并改变当时的填充。

只发生在中国?听起来很荒谬。不要使用"阴谋论"来解释什么可以解释人类马虎,懒惰和贪婪。你重新编译它在不同的国家或运行可执行文件。

如果停止这种草率的"问题报告",并创建一个真正的代码示例(不发表您的实际应用中,做一个小的代码示例)和张贴。我想我可能是能够模拟中国的环境。 {S0的}
然而,有些东西告诉我,你的问题将会消失,当你开始创建简化的代码示例重现该问题。设置你的实验表明盲折叠方法。

mdash;水杨酸
评论会员:lukeer 时间:2012/02/04
这是纯粹的猜测:你有没有检查与协调流离失所问题对中国客户机的开发机器上的DPI属性

至少在WinXP中,它通常设置为96 DPI,但可以改变的。也许中文字符,另一个设置是可取的:约翰・西蒙斯/取缔程序员
评论会员:游客 时间:2012/02/04
这是一个混合的字体和dpi。你要编写代码,手动调整控制位置/大小(甚至形式本身的大小)。|