我有一个安装了MaterialSkin.2 nuget软件包的Winforms.Net Framework应用程序。问题是,我有很多选项卡,它们在设计器中使用了2行图标。但是在运行时,页面会按预期加载到左侧。虽然设计这些行会占用很多空间,但如果我想在底部有一个按钮,它并不完全在那里(下图),同样当我想让按钮在最右边的角落时,它们溢出了。我该如何解决这个问题呢?我通过Youtube Fox Learn频道学习了Winforms材料设计。我正在使用VS2022。
设计图像。我将TabControl停靠设置为填充。
运行时图像。正如你所看到的,右边的按钮已经溢出,底部的按钮没有完全向下。
1条答案
按热度按时间krcsximq1#
控件的位置是相对于其父级的。控件需要知道当其父级客户端大小更改时要执行的操作。在不使用布局面板的简单设计中,控件的
Anchor
和/或Dock
属性用于此操作。前者定义控件绑定到的容器的边缘。后者定义哪些控件边框 * 停靠 * 到其父控件。两者都告诉控件如何随其父控件调整大小。第二个屏幕截图中的按钮保持在相同的位置,因为它们的锚属性被设置为默认值。
AnchorStyles.Top | AnchorStyles.Left
。这里发生的是TabControl
的ClientSize
在运行时被更改。因此,底部按钮下方的空间是标签区域在顶部对齐时的高度(设计时),右侧按钮的剪切大小是该区域左对齐时的宽度(运行时)。若要执行您所设计的项目,请切换至[属性]视窗,并设定按钮的
Anchor
属性,如下所示: