Windows窗体在表格布局面板中重新排列元素

时间:2014-01-17 15:18:35

标签: c# .net winforms visual-studio

我正在使用Windows窗体作为GUI开发.net中的POS系统。我的应用程序中有一个窗口,我面临一个非常奇怪的问题。

(注意:应用程序是针对.net 4框架和windows窗体项目编译的。我使用表格布局来排列表单中的所有元素。)

以下是Visual Studio中表单的屏幕截图。

Window as seen in Visual Studio 2012

以下是我系统中的屏幕截图(Windows 8 Pro,DELL全高清显示器)。

Window as shown in my system.

现在我正在构建可执行文件和DLL并将它们复制到我父亲的系统中(Windows 7,1440 X 900监视器)。应用程序成功运行,但输出如下所示。

Application running in my dad's system

有两件事发生了变化。

  1. 开始日期和结束日期标签和日历都已交换(我在功能上也进行了测试。开始日期不能晚于结束日期,如果是这样,则会给出错误。我已通过此检查,日历也被交换了。)

  2. 正在显示的日期格式已更改。

  3. 注意:我在其他窗口也有这样的小问题。

    有没有人遇到过这样的问题?

1 个答案:

答案 0 :(得分:2)

我找到了解决方案。

Windows设计器生成的代码以错误的方式添加了tablelayoutpanel对象中的控件。

Windows设计器面板正在将tablelayoutpanel的控件添加到同一个单元格中。

例如:代码不正确

this.tableLayoutPanel5.Controls.Add(this.tbInvoice, 0, 0);
this.tableLayoutPanel5.Controls.Add(this.label4, 0, 0);

更正代码

this.tableLayoutPanel5.Controls.Add(this.tbInvoice, 1, 0);
this.tableLayoutPanel5.Controls.Add(this.label4, 0, 0);

解决方案:重新排列面板中的控件,方法是将其移除或移动到单独的表格中,然后将其移回。