我是C#的新手,正在使用Visual Studio中的C#Windows窗体应用程序,并希望用另一个面板B动态替换Form中的现有面板A.
这可以实现的方法之一是将面板彼此放置,使得它们的左上角彼此重叠。但是这种方法很难对位于下方的面板进行更改。
我在Java中完成了这种类型的工作,但没有找到任何Windows Forms的解决方案。
答案 0 :(得分:1)
如您所说,您不想要面板,请使用TabControl
在运行时或在设计时
将Appearance
设置为按钮
为宽度设置ItemSize
0,为高度设置1
将Multiline
设为True
将SizeMode
设为固定
标签页上的标签现在应该不可见,但是标签页仍在那里。
但是,它还允许您更轻松地使用每个页面上的控件
来自评论的更新
另一种方法是继承TabControl
如此处所见See Creating Wizards for Windows Forms in C#
class WizardPages : TabControl {
protected override void WndProc(ref Message m) {
// Hide tabs by trapping the TCM_ADJUSTRECT message
if (m.Msg == 0x1328 && !DesignMode) m.Result = (IntPtr)1;
else base.WndProc(ref m);
}
}