首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows7中的c#程序移动面板

Windows7中的c#程序移动面板
EN

Stack Overflow用户
提问于 2009-12-11 02:21:58
回答 3查看 406关注 0票数 1

我有一个在Windows XP上进行VS2008开发的应用程序,我已经开发了一段时间,它在特定的位置放置了一些面板,所以边框排列整齐,看起来很漂亮。现在我已经切换到在7中开发,据我所知,其他一切都在相同的位置,但它将两个面板移动了一点,一个上下移动,弄乱了我漂亮的边框。由于它在XP中仍然可以正常工作,我假设这是一个7的问题,或者是7的VS问题。有谁知道发生了什么,或者它是否可以修复?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-12 05:06:40

所以我想通了。原来客户区并没有变窄,但是作为对话框边框一部分的标题栏在XP和7中有两种不同的大小。由于面板在mdi子项中,其中边框没有显示,因为它在父项之下,边框的标题栏部分的大小影响了面板相对于父项的显示位置。为了解决这个问题,我在子对象上将FormBorderStyle设置为none,并将面板重新定位到没有标题栏的正确位置。它现在在XP和7中看起来是一样的,因为可变的条形尺寸消失了。

票数 1
EN

Stack Overflow用户

发布于 2009-12-11 02:43:12

Windows7的窗口有更宽的边框。

您的窗体可能具有基于Windows XP边框宽度的固定大小。

因此,在Windows7中,窗体的工作区将变窄。

如果这确实是问题所在,您可以通过在构造函数中将窗体的ClientSize属性设置为它在XP中的当前值来解决它。

如果这不是问题所在,请发布更多详细信息。

票数 0
EN

Stack Overflow用户

发布于 2009-12-11 02:50:11

您需要对面板进行像素定位吗?.NET 2.0引入了FlowLayoutPanel和TableLayoutPanel来调整元素的大小。

TableLayoutPanel是两个中更有用的一个。您可以创建行和列,它们可以按比例自动调整大小或按比例调整大小。您可以将TableLayoutPanel停靠在窗体中,或者将其锚定在窗体的四边。然后用户可以调整窗体的大小,所有内容都会随之调整大小。

即使您的面板具有特定的大小,您也可以将它们锚定到一侧或角落,以便即使用户调整窗体的大小,它们也会附着在一侧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1882997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档