我们的应用程序的目标是.net4.0,代码是vb.net和c#中项目的混合。这个特别的项目是vb.net。我的开发机器是Windows 7x64 pro与vs sp1和VS2010 + Windows 8x64 VMWare机器。
在Windows 7中,我们的tablelayoutpanel在设计时正确显示了生成的可执行文件winforms应用程序。无论在Wondows 8中运行我们的应用程序,我们都看到TableLayoutPanels中列的顺序混淆了。
我附上了截图,现在起初我们只是想到它与Windows 8的工作方式有关,并希望在Windows 8中重新编译可以修复它。不!在Windows 8中打开相同的源文件根据附加的屏幕截图显示混合列。所以我们修改了排序,编译并在Windows 8中显示正常,但是在Windows 7中我们再次得到混合列命令。
所以在Windows 7或8中修复它,而另一个显示不正确吗?
任何人都可以提供任何建议吗?它不像我们可以通过电子邮件发送微软的答案,并希望很快就能得到修复。
编辑:我们真的坚持这个,有任何想法/建议吗?
Edit2:MSDN社区支持告诉我用connect.microsoft.com提高它,我已经完成但是我不希望它永远被解决。所以我将不得不用其他东西替换这个用户控件,并希望我找不到其他类似问题的用户控件或Windows 8支持将永久搁置。 打算关闭它,因为它被接受为一个错误,不会很快修复。
答案 0 :(得分:1)
- 我的蹩脚建议是尝试'滚动你自己' - 也许两个版本的ide正在扰乱订单。
您在上面显示的所有表格布局都可以使用代码完成,这可以避免您在使用Windows 8和Windows 7时遇到的麻烦 我发现了这个 http://social.msdn.microsoft.com/Forums/en/vbgeneral/thread/4e6bc84b-b465-4bee-9316-c0ee68d9fa20
Dim tlp As New TableLayoutPanel
tlp.ColumnCount = 3
tlp.RowCount = 5
tlp.AutoSize = True
Dim labels(4) As Label
For i As Byte = 0 To 4
labels(i) = New Label
labels(i).Text = "Label number " & i
tlp.Controls.Add(labels(i), 0, i)
Next i
Dim comboboxes(4) As ComboBox
For i As Byte = 0 To 4
comboboxes(i) = New ComboBox
comboboxes(i).Items.AddRange _
(New String() {"first item", "second item", "item number 3"})
tlp.Controls.Add(comboboxes(i), 1, i)
Next i
Dim firstRowButton As New Button
firstRowButton.Text = "New button!"
tlp.Controls.Add(firstRowButton, 2, 0)
Dim thirdRowTextBox As New TextBox
tlp.Controls.Add(thirdRowTextBox, 2, 2)
Me.Controls.Add(tlp)
祝你好运
答案 1 :(得分:1)
对于有此问题的其他人。
我收到了connect.microsoft的回复,其修复于2013年1月4日发布的4.5补丁版本。
微软于17/01/2013 17:52发表 感谢您的反馈意见。我们能够重现这个问题并确认它已在最近发布的.Net Framework 4.5更新中得到修复,该更新可从1月8日开始在Windows更新中获得。
许多客户发现在论坛(http://www.microsoft.com/communities/forums/default.mspx)中讨论此类问题很有用,其中Microsoft和社区的其他成员可以提供解决方法。请保持反馈意见。
谢谢, Windows窗体小组