简介

KryptonWrapLabel 是自动换行标签控件,与 KryptonLabel 的主要区别在于:它会在控件宽度内自动换行显示长文本,并根据内容自动调整高度。非常适合显示说明文字、条款内容、多行提示等需要段落排版的场景,无需手动插入换行符。

KryptonWrapLabel 示例截图
KryptonWrapLabel 在固定宽度内自动换行显示长文本

常用属性

属性类型说明
Textstring标签显示的文字(支持长文本自动换行)
FontFont文字字体
ForeColorColor文字颜色
LabelStyleLabelStyle标签风格(Normal / Bold / Italic / TitlePanel 等)
AutoSizeModeAutoSizeMode自动大小模式(GrowAndShrink 可按内容收缩)
AutoSizebool是否根据内容自动调整高度
TextAlignContentAlignment文字对齐方式
MaximumSizeSize最大尺寸(限制换行宽度)
StateCommon.ShortText.FontFontKrypton 状态字体(覆盖 Font)
StateCommon.ShortText.Color1ColorKrypton 状态文字颜色

快速上手

基本用法(说明文字)

using Krypton.Toolkit;

// 创建自动换行标签
var lblDesc = new KryptonWrapLabel();
lblDesc.Text = "本软件按照\"现状\"提供,不提供任何形式的明示或暗示担保。" +
               "在适用法律允许的最大范围内,作者不对因使用本软件而产生的" +
               "任何直接、间接或附带损失承担责任。";
lblDesc.Location = new Point(20, 20);
lblDesc.Size = new Size(360, 20);  // 宽度固定,高度自动扩展
lblDesc.AutoSize = true;

this.Controls.Add(lblDesc);

限制最大宽度并居中

var lblNotice = new KryptonWrapLabel();
lblNotice.Text = "系统将于今晚 23:00 进行例行维护,预计持续 30 分钟," +
                 "期间部分功能可能无法使用,请提前保存工作。";
lblNotice.MaximumSize = new Size(400, 0);  // 宽度上限 400,高度不限
lblNotice.AutoSize = true;
lblNotice.TextAlign = ContentAlignment.MiddleCenter;
lblNotice.Dock = DockStyle.Top;

进阶用法

自定义样式(提示框风格)

// 翡翠绿主题的提示段落
var lblTip = new KryptonWrapLabel();
lblTip.Text = "提示:您可以通过 Ctrl+Shift+N 快速新建项目," +
              "或从「文件」菜单选择模板开始开发。";
lblTip.MaximumSize = new Size(450, 0);
lblTip.AutoSize = true;
lblTip.StateCommon.ShortText.Font = new Font("Microsoft YaHei UI", 9f);
lblTip.StateCommon.ShortText.Color1 = Color.FromArgb(15, 118, 110);

动态更新内容并自适应高度

// 显示选中的文件详情
var lblDetail = new KryptonWrapLabel();
lblDetail.MaximumSize = new Size(300, 0);
lblDetail.AutoSize = true;
lblDetail.Location = new Point(20, 100);
this.Controls.Add(lblDetail);

listView.SelectedIndexChanged += (s, e) =>
{
    if (listView.SelectedItems.Count == 0)
    {
        lblDetail.Text = "未选择文件";
        return;
    }
    var file = listView.SelectedItems[0];
    lblDetail.Text = $"名称:{file.Text}\n" +
                     $"大小:{GetFileSize(file)}\n" +
                     $"修改时间:{GetModifiedTime(file)}\n" +
                     $"说明:{GetFileDescription(file)}";
};
提示:KryptonWrapLabel 的换行依赖控件宽度。请设置固定的 Size.WidthMaximumSize.Width,并保持 AutoSize = true,这样高度会随文字内容自动伸缩。若 \n 换行不生效,可改用 Environment.NewLine

对应示例项目

📁 Source/Krypton Toolkit Examples/KryptonWrapLabel Examples/

包含:长文本自动换行、最大宽度限制、动态内容自适应演示。

相关控件