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

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

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

下面给出了Visual Studio中表单的屏幕截图。

在Visual Studio 2012中看到的窗口

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

窗口如我的系统所示。

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

应用程序在我父亲的系统中运行

有两件事发生了变化。

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

  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); 

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