.net 隐藏选项卡页面/动态更改表单内容
如何隐藏选项卡控件的选项卡,以便在窗体上的所有内容看起来都消失了,并且出现了全新的内容时进行动态页面更改.net 隐藏选项卡页面/动态更改表单内容,.net,winforms,tabcontrol,.net,Winforms,Tabcontrol,如何隐藏选项卡控件的选项卡,以便在窗体上的所有内容看起来都消失了,并且出现了全新的内容时进行动态页面更改 这对于向导以及您经常在IDE中看到的一页“左侧设置列表,右侧设置页面”配置页面非常有用。隐藏选项卡或“我想在一组项目内容之间动态更改表单” 我以前在完成这件事上遇到了很大的困难。在网上有几个这样做的例子,每一个都有一些严重的问题。也就是说,缺乏设计时可视性平台依赖性(仅限windows)以及内部魔法,或是一些严重的子类化和选项卡控件的重新实现 一个建议的方法是吸收用于制表符绘制的window
这对于向导以及您经常在IDE中看到的一页“左侧设置列表,右侧设置页面”配置页面非常有用。隐藏选项卡或“我想在一组项目内容之间动态更改表单” 我以前在完成这件事上遇到了很大的困难。在网上有几个这样做的例子,每一个都有一些严重的问题。也就是说,缺乏设计时可视性平台依赖性(仅限windows)以及内部魔法,或是一些严重的子类化和选项卡控件的重新实现 一个建议的方法是吸收用于制表符绘制的windows消息。这是可行的,但它依赖于操作系统,而且像在.net中那样访问windows泵看起来非常奇怪 我看到的另一个建议是从头开始构建一个tab控件,然后不实现tab绘图 解决这个问题的方法很简单。所有这些项都可以在选项卡控件设计器属性中找到
tabControl.Appearance = FlatButtons;
tabControl.SizeMode = Fixed;
tabControl.ItemSize.Width = 0;
tabControl.ItemSize.Height = 1;
塔达!选项卡是隐藏的。现在,为每个要隐藏和显示的动态控件“集”创建一个选项卡,并执行标准数据绑定
为了使其更加用户友好(在处理大型应用程序或将其构建为标准组件的情况下,您将经常使用),将tabcontrol子类化,并执行设计时检查和取消设置这些值,以便查看用于设计的选项卡。如果您使用的是固定的布局模型,则还存在其他涉及布局的问题(糟糕!)
这个解决方案确实有一些警告。也就是说,您仍然可以在tab控件上添加tab,然后更改页面。这可以通过钩住控件的Enter事件,然后将焦点传递给所选选项卡中的第一个选项卡元素来解决
另一个问题是,如果tab控件太小,则在右侧会有一个小的左/右按钮(当使用从左到右的语言时,左侧除外),允许您在选项卡之间进行选择。我不知道该问题的解决方案。可能的重复是重复,但我一直看到同样的问题到处出现,问题的“解决方案”也一样。