如何处理.NET Winforms中的堆栈控件?

Jon*_*ury 4 .net winforms

我有一个表单,将多个Panel控件堆叠在一起,每个控件都根据表单上的其他选定选项显示/隐藏.在表单设计器中管理这是一个非常痛苦的事情,因为面板的行为不像完整的TabControl.但是,如果没有选项卡,您可能看起来不能使用TabControl.处理这个问题的最佳方法是什么?是否有类似TabControl的控件,但没有标签?

Han*_*ant 6

您可以隐藏选项卡,在设计器中非常方便.在项目中添加一个新类并粘贴此代码:

using System;
using System.Windows.Forms;

public class TablessControl : 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);
  }
}
Run Code Online (Sandbox Code Playgroud)