mcpField
S
syncfusion-winforms-fontcombobox

syncfusion-winforms-fontcombobox

github.com/syncfusion设计与 UI278 次安装1 周前更新
代码仓库

关于 syncfusion-winforms-fontcombobox

指导开发者在 Windows Forms 中使用 Syncfusion FontComboBox,构建可预览已安装字体、支持搜索并可自定义样式的字体选择器。

主要功能

  1. 01列出系统已安装字体
  2. 02在下拉列表中预览字体
  3. 03自动补全与字体搜索
  4. 04可配置下拉选项
  5. 05主题与 RTL 布局

适用场景

  1. 01富文本编辑器的字体选择器
  2. 02设计工具中的排版面板
  3. 03字体偏好设置
  4. 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.md
dropdown-configuration.md
getting-started.md
selection-and-events.md
visual-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,因此可使用所有基类属性和事件

评论

支持 Markdown