关于 syncfusion-winforms-fontlistbox
这项技能介绍如何在 Windows Forms 应用中实现 Syncfusion FontListBox。该控件列出系统已安装字体,并支持多种选择模式、键入匹配、滚动条和视觉样式。
主要功能
- 01自动列出已安装字体
- 02单选与多选模式
- 03键入匹配字体名称
- 04排序与项高度设置
- 05滚动条和视觉样式选项
适用场景
- 01为文本编辑器构建字体选择器
- 02选择多个字体
- 03通过键入查找字体名称
- 04将所选字体应用到其他控件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ syncfusion/ winforms-ui-components-skills --skill syncfusion-winforms-fontlistbox安装后在 Claude Code 中输入/syncfusion-winforms-fontlistbox确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/customization-and-behavior.mdgetting-started.mdvisual-styles.md详细介绍
实现 Syncfusion WinForms FontListBox 控件
Syncfusion FontListBox(Syncfusion.Windows.Forms.Tools.FontListBox)是一种派生自 ListBox 的控件,会自动填充用户系统中安装的所有字体。它支持多种选择模式、键入匹配自动完成、水平滚动条、项目高度控制和 Office 风格的视觉主题。
何时使用此技能
在以下情况下使用此技能:
- 显示已安装系统字体的列表——创建时自动填充
- 允许用户选择字体——将所选字体应用于标签、文本框或其他控件
- 配置选择模式——单选、多选简单模式或多选扩展模式
- 启用键入匹配自动完成——
UseAutoComplete - 应用 Office 视觉样式——通过
FontListBoxStyle枚举设置VisualStyle - 控制滚动条的可见性——
HorizontalScrollbar、ScrollAlwaysVisible - 处理字体选择事件——
SelectedIndexChanged
组件概览
| 属性 | 类型 | 描述 |
|---|---|---|
SelectionMode | SelectionMode | 单选、多选简单模式或多选扩展模式 |
UseAutoComplete | bool | 在列表中进行键入匹配 |
Sorted | bool | 按字母顺序排列字体名称 |
ItemHeight | int | 每个列表项目的高度(像素) |
HorizontalScrollbar | bool | 项目超出范围时显示水平滚动条 |
HorizontalExtent | int | 启用水平滚动条时可滚动区域的宽度(像素) |
ScrollAlwaysVisible | bool | 无论项目数量多少,始终显示滚动条 |
VisualStyle | FontListBoxStyle | Office/Metro 视觉主题 |
文档与导航指南
入门
📄 阅读: references/getting-started.md
- 程序集引用和 NuGet 包设置
- 通过设计器或编程方式添加 FontListBox
- 自动填充系统字体
- SelectionMode — None、One、MultiSimple、MultiExtended
- 处理 SelectedIndexChanged 事件,将字体应用于其他控件
自定义与行为
📄 阅读: references/customization-and-behavior.md
ItemHeight— 每个字体条目的行高Sorted— 按字母顺序排列字体名称UseAutoComplete— 用户键入时进行键入匹配HorizontalScrollbar+HorizontalExtentScrollAlwaysVisible— 强制始终显示滚动条
视觉样式
📄 阅读: references/visual-styles.md
- 使用
FontListBoxStyle枚举设置VisualStyle属性 - 可用样式:Default、Metro、Office2016Colorful、Office2016White、Office2016Black、Office2016DarkGray
快速入门
C#:
using Syncfusion.Windows.Forms.Tools;
FontListBox fontListBox1 = new FontListBox();
fontListBox1.Size = new System.Drawing.Size(160, 94);
fontListBox1.UseAutoComplete = true;
fontListBox1.SelectionMode = System.Windows.Forms.SelectionMode.One;
fontListBox1.SelectedIndexChanged += FontListBox1_SelectedIndexChanged;
this.Controls.Add(fontListBox1);
private void FontListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
label1.Font = new System.Drawing.Font(
fontListBox1.SelectedItem.ToString(), 11, System.Drawing.FontStyle.Regular);
}
VB.NET:
Imports Syncfusion.Windows.Forms.Tools
Dim fontListBox1 As New FontListBox()
fontListBox1.Size = New System.Drawing.Size(160, 94)
fontListBox1.UseAutoComplete = True
fontListBox1.SelectionMode = System.Windows.Forms.SelectionMode.One
AddHandler fontListBox1.SelectedIndexChanged, AddressOf FontListBox1_SelectedIndexChanged
Me.Controls.Add(fontListBox1)
Private Sub FontListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
label1.Font = New System.Drawing.Font(
fontListBox1.SelectedItem.ToString(), 11, System.Drawing.FontStyle.Regular)
End Sub
常见用例
| 场景 | 要设置的属性 |
|---|---|
| 文本编辑器的字体选择器 | SelectionMode = One,处理 SelectedIndexChanged |
| 多字体选择 | SelectionMode = MultiExtended |
| 快速键盘导航 | UseAutoComplete = true |
| 始终显示滚动条 | ScrollAlwaysVisible = true |
| 按字母顺序排列列表 | Sorted = true |
| Office 风格外观 | VisualStyle = FontListBoxStyle.Office2016Colorful |
评论
支持 Markdown