(c#)System.Windows -> SunnyUI

要将标准的 System.Windows.Forms.TabControl 转换为 SunnyUI 风格的 Sunny.UI.UITabControl,核心是替换控件类型迁移属性,以下是两种最直接的实现方法

方法一:直接替换控件(推荐,适合已布局好的项目)

如果TabControl 已经添加了选项卡和内容,直接修改代码文件即可保留原有布局,无需重建:

  1. 关闭窗体设计器:确保当前窗体的设计界面已关闭,仅保留代码视图。

  2. 打开窗体的设计器代码文件 :在 "解决方案资源管理器" 中,展开你的窗体文件(如 Form1.cs),双击打开 Form1.Designer.cs(若隐藏,点击 "显示所有文件")。

  3. 批量替换类型 :按下 Ctrl+F 打开搜索框,在该文件中搜索 System.Windows.Forms.TabControl,将其全部替换Sunny.UI.UITabControl。 重点检查两处: ① 控件声明行:private System.Windows.Forms.TabControl tabControl1;private Sunny.UI.UITabControl tabControl1; ② 实例化行:this.tabControl1 = new System.Windows.Forms.TabControl();this.tabControl1 = new Sunny.UI.UITabControl();

  4. 添加命名空间 :在 Form1.Designer.cs 文件的顶部,确认已添加 SunnyUI 命名空间(若没有则手动添加):

    复制代码
    using Sunny.UI;
  5. 保存并刷新设计器 :保存文件后,重新打开窗体设计器,此时 tabControl1 已变为 UITabControl,属性面板会自动显示图二的 SunnyUI 专属配置项。

方法二:重新添加控件

步骤 1:确认 SunnyUI 控件已加载到工具箱

  1. 在 Visual Studio 右侧 / 左侧的 工具箱 面板中,右键点击任意空白处 → 选择 选择项
  2. 在弹出的「选择工具箱项」窗口中,点击 浏览 按钮 → 找到你项目中 NuGet 安装的 SunnyUI.dll 文件。
  3. 选中 SunnyUI.dll 后点击「确定」
  4. Visual Studio 加载第三方控件时,若控件没有指定「默认分组名称」,就会默认归类到「菜单和工具栏」(或「所有 Windows 窗体」)分组,这只是显示归类问题,控件的功能、使用方式完全不受影响
  5. (可选) 手动创建「SunnyUI」分组 (1)打开工具箱,在任意空白处右键 → 选择 添加选项卡 → 输入名称 SunnyUI(按回车确认),此时工具箱会新增一个空的「SunnyUI」分组。 (2)在「菜单和工具栏」分组里,找到所有以 UI 开头的控件(比如 UITabControlUIButtonUILabel 等):拖进该分组即可

步骤 2:配置 SunnyUI 专属样式

在属性面板中,找到 SunnyUI 专属的样式属性(这些是图二特有的,普通 TabControl 没有)

常用属性 作用说明 示例值
TabPosition 选项卡位置 Left(左侧)
FillColor 控件背景色 245,245,245(浅灰)
TabNormalColor 未选中选项卡的颜色 220,220,220
TabSelectedColor 选中选项卡的颜色 60,160,255(蓝色)
TabSelectedForeColor 选中选项卡的文字颜色 255,255,0(黄色)
ShowRect 是否显示控件边框 True/False
Font 选项卡文字字体(SunnyUI 适配) 微软雅黑,9pt

新手遇到的问题:

拖拽 SunnyUI 控件报「空引用」错误,核心原因是窗体未继承 UIForm,修改窗体基类是必做步骤

相关推荐
He BianGu8 分钟前
【WPF-VisionMaster】机器视觉通用平台V5.0版本发行说明
opencv·c#·wpf·halcon·机器视觉·visionmaster
tang_042714 分钟前
【Hi.Ltd 专题】第9期:Interop 配置互操作(JSON/INI/XML/YAML/注册表/扫码)
经验分享·c#·hi.ltd系列
tang_04276 小时前
【Hi.Ltd 专题】第7期:Threading 采集线程、锁与 LRU 缓存
经验分享·c#·hi.ltd系列
A_nanda6 小时前
C# 界面卡顿:从定位到根治
c#
2501_930707788 小时前
使用C#代码为新创建的 Word 文档创建目录
c#·word
czhc11400756639 小时前
同一个数,两把尺子:六组“看着一样、其实不一样“
c#
花北城9 小时前
【C#底层库】access_token授权鉴权验证
c#·鉴权·token·授权
rick97710 小时前
C# 动态代理与 DispatchProxy:从原理到实战的完整指南
c#
tang_042710 小时前
【Hi.Ltd 专题】第8期:Managements 插件、单例与服务定位
经验分享·c#·hi.ltd系列
曹牧21 小时前
C#:24小时制时间
c#