KryptonWrapLabel ✓ LCode 已集成 Toolkit
命名空间:Krypton.Toolkit · 程序集:Krypton.Toolkit.dll
简介
KryptonWrapLabel 是自动换行标签控件,与 KryptonLabel 的主要区别在于:它会在控件宽度内自动换行显示长文本,并根据内容自动调整高度。非常适合显示说明文字、条款内容、多行提示等需要段落排版的场景,无需手动插入换行符。
常用属性
| 属性 | 类型 | 说明 |
|---|---|---|
Text | string | 标签显示的文字(支持长文本自动换行) |
Font | Font | 文字字体 |
ForeColor | Color | 文字颜色 |
LabelStyle | LabelStyle | 标签风格(Normal / Bold / Italic / TitlePanel 等) |
AutoSizeMode | AutoSizeMode | 自动大小模式(GrowAndShrink 可按内容收缩) |
AutoSize | bool | 是否根据内容自动调整高度 |
TextAlign | ContentAlignment | 文字对齐方式 |
MaximumSize | Size | 最大尺寸(限制换行宽度) |
StateCommon.ShortText.Font | Font | Krypton 状态字体(覆盖 Font) |
StateCommon.ShortText.Color1 | Color | Krypton 状态文字颜色 |
快速上手
基本用法(说明文字)
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.Width 或 MaximumSize.Width,并保持 AutoSize = true,这样高度会随文字内容自动伸缩。若 \n 换行不生效,可改用 Environment.NewLine。
对应示例项目
📁 Source/Krypton Toolkit Examples/KryptonWrapLabel Examples/
包含:长文本自动换行、最大宽度限制、动态内容自适应演示。