我继承的代码包含一个Windows窗体,该窗体包含一个具有5个选项卡的TabControl。我无法在设计器中切换选项卡。当我在设计视图中打开窗体时,第一个选项卡被选中,并且显示第一个TabPage的内容。当我尝试切换选项卡时,顶部的正确选项卡被选中,但仅显示第一个TabPage。我可以向控件添加选项卡,但它们不会显示为空的TabPage。如何在设计器视图中切换选项卡,以便修改第二个或第三个TabPage的内容?
vdgimpew1#
手弯曲的程序员没有预见到这一点:)在编辑器ActiveTab中添加属性
public class ExTabControl : TabControl { private const int TCM_ADJUSTRECT = 0x1328; private bool showBtn = false; private Message mes; public int? ActiveTab { get { if (this.TabPages.Count == 0 || this.SelectedTab == null) return null; return this.TabPages.IndexOf(this.SelectedTab); } set { if (this.TabPages.Count > 0 ) { var _value = Math.Max(value ?? 0, 0); var v = Math.Min(_value, this.TabPages.Count - 1); this.SelectedTab = this.TabPages[v]; } } } [DefaultValue(false)] public bool ShowBtn { get => showBtn; set { showBtn = value; WndProc(ref mes); } } protected override void WndProc(ref Message m) { mes = m; if (m.Msg == TCM_ADJUSTRECT && !showBtn) { m.Result = (IntPtr)1; return; } base.WndProc(ref m); } }
mwg9r5ms2#
点击WindowsForm中的TabControl。转到“属性”〉“标签页”。在左侧,你会看到列出的标签,它们旁边会有2个箭头,使用箭头,将你想要查看/编辑的标签移到顶部,然后点击“确定”。这应该可以暂时解决你的问题。
2条答案
按热度按时间vdgimpew1#
手弯曲的程序员没有预见到这一点:)在编辑器ActiveTab中添加属性
mwg9r5ms2#
点击WindowsForm中的TabControl。转到“属性”〉“标签页”。在左侧,你会看到列出的标签,它们旁边会有2个箭头,使用箭头,将你想要查看/编辑的标签移到顶部,然后点击“确定”。这应该可以暂时解决你的问题。