关于 syncfusion-winforms-fontcombobox
指导开发者在 Windows Forms 中使用 Syncfusion FontComboBox,构建可预览已安装字体、支持搜索并可自定义样式的字体选择器。
主要功能
- 01列出系统已安装字体
- 02在下拉列表中预览字体
- 03自动补全与字体搜索
- 04可配置下拉选项
- 05主题与 RTL 布局
适用场景
- 01富文本编辑器的字体选择器
- 02设计工具中的排版面板
- 03字体偏好设置
- 04属性编辑器中的字体选择
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syncfusion/ winforms-ui-components-skills --skill syncfusion-winforms-fontcombobox安装后在 Claude Code 中输入/syncfusion-winforms-fontcombobox确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/autocomplete.mddropdown-configuration.mdgetting-started.mdselection-and-events.mdvisual-styles.md详细介绍
实现 FontComboBox
一种专用于 Windows Forms 的组合框控件,可自动填充系统字体,并提供直观的字体选择界面和预览功能。
何时使用此技能
在以下情况下使用此技能:
- 字体选择界面:在 Windows Forms 应用程序中实现字体选择器控件
- 系统字体显示:显示所有已安装字体及其视觉预览
- 排版工具:构建文本编辑器、设计工具或格式设置界面
- 字体枚举:使用可用系统字体自动填充下拉列表
- 富文本应用程序:创建文字处理器、文档编辑器或格式设置面板
- 设计应用程序:构建需要字体选择功能的 UI 自定义工具
组件概览
FontComboBox 是一种专用组合框控件,派生自标准 ComboBox,具有以下功能:
- 自动填充所有系统已安装字体
- 使用相应字体显示字体名称
- 支持自动完成,便于快速搜索字体
- 提供丰富的下拉列表自定义选项
- 内置视觉样式和主题
- 通过类型安全的访问方式处理字体选择事件
主要功能:
- 自动加载系统字体
- 在下拉列表项中预览字体
- 自动完成和筛选
- 多种视觉主题(Office2016、Metro、Office2007)
- 支持 RTL
- 符号字体渲染
- 自定义事件处理
文档与导航指南
入门
📄 阅读: references/getting-started.md
何时阅读: 开始新实现、设置依赖项或首次使用时
涵盖主题:
- 程序集部署和 NuGet 包
- FontComboBox 的控件依赖项
- 通过 Visual Studio 设计器添加(从工具箱拖放)
- 通过代码添加(手动实例化)
- 基本初始化和配置
- RTL(从右到左)布局支持
- GitHub 示例项目
自动完成功能
📄 阅读: references/autocomplete.md
何时阅读: 启用字体搜索、实现输入提示或配置自动完成行为时
涵盖主题:
- 用于启用或禁用自动完成的 UseAutoComplete 属性
- AutoCompleteSource 选项(ListItems、CustomSource)
- AutoCompleteMode 设置(Suggest、Append、SuggestAppend)
- 用于自定义字体列表的 AutoCompleteCustomSource
- 自动完成配置最佳实践
- 包含筛选行为的代码示例
下拉列表配置
📄 阅读: references/dropdown-configuration.md
何时阅读: 自定义下拉列表外观、控制弹出行为或配置项目显示时
涵盖主题:
- DropDownStyle 选项(DropDown、DropDownList、Simple)
- DropDownHeight 和 DropDownWidth 尺寸设置
- 控制可见项目数量的 MaxDropDownItems
- 用于符号字体的 ShowSymbolFontPreview
- 用于项目间距的 ItemHeight
- 用于按字母顺序排序的 Sorted 属性
- 下拉列表行为自定义
选择与事件
📄 阅读: references/selection-and-events.md
何时阅读: 处理字体选择变更、响应用户输入或应用所选字体时
涵盖主题:
- 使用 SelectedItem 和 SelectedIndex 进行程序化选择
- SelectedIndexChanged 事件处理
- 自定义 FontSelected 事件的实现
- 将所选字体应用于其他控件(标签、文本框)
- 事件驱动的字体更新
- 用于管理选择的代码模式
视觉样式与主题
📄 阅读: references/visual-styles.md
阅读时机: 应用主题、自定义控件外观、匹配应用程序设计
涵盖主题:
- VisualStyle 属性(Office2016Colorful、Office2016White、Office2016Black、Office2016DarkGray、Metro、Office2010、Office2007、Default)
- Office2007ColorScheme 选项(Blue、Silver、Black)
- 使用 Office2007ColorTheme.Managed 自定义颜色主题
- 使用 ApplyManagedColors 应用自定义颜色
- 主题截图和视觉示例
快速入门
基本 FontComboBox 设置
using Syncfusion.Windows.Forms.Tools;
// Create and configure FontComboBox
FontComboBox fontComboBox = new FontComboBox();
fontComboBox.Size = new Size(200, 25);
fontComboBox.Location = new Point(20, 20);
// Enable AutoComplete for font search
fontComboBox.UseAutoComplete = true;
// Set default selected font
fontComboBox.Text = "Arial";
// Add to form
this.Controls.Add(fontComboBox);
处理字体选择
// Subscribe to selection changed event
fontComboBox.SelectedIndexChanged += FontComboBox_SelectedIndexChanged;
private void FontComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (fontComboBox.Text != null)
{
// Apply selected font to a label
label1.Font = new Font(fontComboBox.Text.ToString(), 12, FontStyle.Regular);
}
}
常见模式
模式 1:带预览的字体选择器
// Configure FontComboBox with preview
FontComboBox fontComboBox = new FontComboBox
{
UseAutoComplete = true,
DropDownStyle = ComboBoxStyle.DropDownList,
ShowSymbolFontPreview = true,
DropDownHeight = 200,
Sorted = true
};
// Handle selection to update preview label
fontComboBox.SelectedIndexChanged += (s, e) =>
{
if (fontComboBox.Text != null)
{
previewLabel.Font = new Font(fontComboBox.Text.ToString(), 14);
previewLabel.Text = "The quick brown fox jumps over the lazy dog";
}
};
模式 2:带主题的字体选择器
// Apply Office2016 theme
FontComboBox fontComboBox = new FontComboBox
{
VisualStyle = ThemedComboBoxStyles.Office2016Colorful,
UseAutoComplete = true,
DropDownStyle = ComboBoxStyle.DropDown
};
// Set initial font
fontComboBox.Text = "Segoe UI";
模式 3:带自动完成的自定义字体列表
// Create FontComboBox with custom font list
FontComboBox fontComboBox = new FontComboBox();
// Configure custom AutoComplete source
fontComboBox.AutoCompleteCustomSource.AddRange(new string[]
{
"Arial", "Calibri", "Cambria", "Georgia", "Times New Roman", "Verdana"
});
fontComboBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
fontComboBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
关键属性
选择属性
- SelectedItem:获取或设置当前选定的字体名称(string)
- SelectedIndex:获取或设置所选字体的索引(int)
自动完成属性
- UseAutoComplete:启用/禁用自动完成功能(bool)
- AutoCompleteMode:设置完成行为(Suggest、Append、SuggestAppend)
- AutoCompleteSource:指定完成来源(ListItems、CustomSource)
- AutoCompleteCustomSource:用于自动完成的自定义字符串集合
下拉列表属性
- DropDownStyle:控制编辑/选择行为(DropDown、DropDownList、Simple)
- DropDownHeight:下拉列表的高度,单位为像素(int)
- DropDownWidth:下拉列表的宽度,单位为像素(int)
- MaxDropDownItems:下拉列表中可见项的最大数量(int)
- ShowSymbolFontPreview:使用符号字体的字体样式呈现符号字体(bool)
项目属性
- ItemHeight:每个下拉列表项的高度,单位为像素(int)
- Sorted:启用字体的字母顺序排序(bool)
样式属性
- VisualStyle:设置控件主题(Office2016Colorful、Metro、Office2007 等)
- Office2007ColorScheme:Office2007 样式的配色方案(Blue、Silver、Black)
- Office2007ColorTheme:自定义主题模式(Managed 用于自定义颜色)
布局属性
- RightToLeft:启用 RTL 布局(RightToLeft.Yes/No)
常见用例
富文本编辑器字体选择器
为文档编辑器、文字处理器或电子邮件客户端的文本格式工具栏构建字体选择器。
设计工具排版面板
在图形设计应用程序、演示软件或 UI 构建器中实现字体选择。
应用程序设置中的字体配置
为支持自定义文本显示的应用程序创建字体偏好设置对话框。
自定义控件属性编辑器
构建属性网格或配置面板,供用户为自定义控件选择字体。
字体比较工具
开发可通过实时预览并排比较字体的实用工具。
说明
- 设置
UseAutoComplete = true后,FontComboBox 会自动加载系统中安装的所有字体,无需手动枚举字体。 - 使用 ShowSymbolFontPreview 可显示符号字体的实际字形
- 使用 DropDownList 样式可禁止手动输入文本,仅允许选择字体
- 无论通过编程还是由用户更改选择,都会触发 SelectedIndexChanged
- 此控件继承自标准 ComboBox,因此可使用所有基类属性和事件