winforms – 使用多个面板设计Windows.Form – >如何隐藏一个
如何在Visual Studio 2008表单设计器中隐藏一个面板,如PS中的图层?否则,有人可以推荐另一种更好的方法来设计必须由用户点击的多个“屏幕”吗?
解决方法
您描述的是一个向导,您可能想要从
Eric J.开始研究该方法
但是,当我想要在我的UI中的同一空间中有多个面板并且我想在设计器中在它们之间切换的情况下,我喜欢使用TabControl并隐藏TabControl上的选项卡.这使得UI在设计时更容易管理,并且在运行时在标签之间切换代码非常简单. 我创建了一个自定义控件,它源自TabControl,名为HiddenTabsControl,非常简单.该类仅覆盖WndProc并让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); } } 现在,您可以更改设计器中的选项卡并轻松设计UI,并在代码中处理事件以根据需要更改选项卡.更改Selected选项卡很容易完成: this.hiddenTabsControl.SelectedTab = this.tabPageYouWantVisible; 移除标签的一个副作用是在构造控件时标签占据的空间.删除它们会使HiddenTabsControl占用的空间通过缩小来改变.我通常将HiddenTabsControl的Anchor设置为bottom以防止收缩. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- wxWidgets与其他工具库的比较(下)
- Windows BATCH:如何为单个脚本禁用QuickEdit模式?
- 我在哪里可以获得Mono.Cecil.Pdb.dll?
- 如何确定我是否作为控制台应用程序运行? (Win32上的Delphi
- windows-cluster – 如何使群集感知的Windows服务具有高可用
- 如何调用window.alert(“message”);从C#
- 配置 – Windows服务器上的10k-20k TCP连接
- 让GeoDjango Spatialite在Windows上运行
- 我可以使用Office365或Azure AD作为Active Directory的主记
- 批量转换Windows / DOS文件到Unix的最佳方法是什么?