我安装了一个带有MaterialSkin.2 nuget包的Winforms .Net框架应用程序。问题是,我有很多选项卡,他们在设计器中使用2行图标。但是,在运行时,页面将按预期的方式加载到左侧。在设计这些行时,占用了很大的空间,如果我想在底部有一个按钮,它并不完全存在(下面的图片),而且当我希望按钮位于最右端时,它们会溢出。我怎样才能解决这个问题。我通过Youtube Fox学习频道学习了Winforms的材料设计。我正在使用VS2022。
设计形象。我将TabControl码头设置为填充。
运行时图像。正如你所看到的,正确的按钮已经飞过,底部的按钮在底部没有完全向下。
发布于 2022-11-05 13:42:55
控制位置相对于其父控件。当更改父客户端大小时,控件需要知道要做什么。在不使用布局面板的简单设计中,将使用控件Anchor
和/或Dock
属性。前者定义了控件绑定到的容器的边缘。后者定义将哪些控件边框停靠到其父控件。两者都告诉控件如何调整其父控件的大小。
第二个屏幕截图中的按钮保持相同的位置,因为它们的Anchor属性被设置为默认值。AnchorStyles.Top | AnchorStyles.Left
。这里发生的是在运行时更改了ClientSize
的TabControl
。因此,底部按钮下面的空间是选项卡区域顶部对齐时的(设计时),而右按钮的剪裁大小是该区域左对齐时的宽度(运行时)。
要运行您设计的内容,切换到“属性”窗口并将按钮的Anchor
属性设置如下:
Button1.Anchor = AnchorStyles.Top | AnchorStyles.Left; // The default.
Button2.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
Button3.Anchor = AnchorStyles.Top | AnchorStyles.Right;
Button4.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
https://stackoverflow.com/questions/74322977
复制相似问题