You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# WinForm标签仅显示字符串首词问题求助

解决WinForm Label仅显示文本第一个词的问题

你遇到的问题是动态创建的Label控件未正确配置布局属性,导致文本被截断,同时多个Label重叠在同一位置也会加剧显示异常。Debug输出已确认字符串内容完整,说明问题出在Label的显示设置环节。

解决方案1:开启AutoSize并设置控件位置

默认Label的AutoSize属性为true,但显式声明可避免父容器布局影响;同时为每个Label设置不同的Location,防止控件重叠:

private void UpdateWeeklyPlanner()
{
    string[] eventsInfo = monday.GetEvents().Select(x => $"{x.Title}, {x.Description}").ToArray();
    int yPosition = 10; // 初始Y坐标,预留边距

    foreach(var s in eventsInfo)
    {
        Debug.WriteLine(s);
        Label label = new Label();
        label.Text = s;
        label.ForeColor = Color.Black;
        label.AutoSize = true; // 自动适配文本宽度
        label.Location = new Point(10, yPosition); // 设置位置,避免重叠
        tabMonday.Controls.Add(label);

        yPosition += label.Height + 5; // 增加间距,区分不同事件
    } 
}

解决方案2:开启自动换行(适合长文本)

如果事件文本较长需要换行显示,可关闭AutoSize,设置固定大小并开启WordWrap:

// 创建Label时替换相关配置
label.AutoSize = false;
label.Size = new Size(250, 60); // 根据TabPage实际尺寸调整
label.WordWrap = true; // 开启自动换行
label.TextAlign = ContentAlignment.TopLeft; // 保持文本左对齐

内容的提问来源于stack exchange,提问作者Fadzii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 20:42:22