Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 隐藏选项卡页面/动态更改表单内容_.net_Winforms_Tabcontrol - Fatal编程技术网

.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控件太小,则在右侧会有一个小的左/右按钮(当使用从左到右的语言时,左侧除外),允许您在选项卡之间进行选择。我不知道该问题的解决方案。

可能的重复是重复,但我一直看到同样的问题到处出现,问题的“解决方案”也一样。