c# - 如何更改 winforms 标签中行与行之间的空格?

标签 c# winforms

我有一个带有未知文本的标签。文本包含\n。我想要\n 行之间有更大的空间。怎么设置?

最佳答案

您可以创建自定义标签组件并覆盖它的测量和绘制,here您可以找到实现行间距的 paint 方法的片段。

编辑:在这里添加一个片段以防链接失效:

string text = "Sri Lanka";
Graphics g = e.Graphics;
Font font = new Font("Arial", 10);
Brush brush = new SolidBrush(Color.Black);
float lineSpacing = 0.5f;

SizeF size = g.MeasureString("A", font);

float pos = 0.0f;
for ( int i = 0; i < text.Length; ++i )
{
    string charToDraw = new string(textIdea, 1);
    g.DrawString(charToDraw, font, brush, pos, 0.0f);
    SizeF sizeChar = g.MeasureString(charToDraw, font);
    pos +=  sizeChar.Width + size.Width * lineSpacing;
}

关于c# - 如何更改 winforms 标签中行与行之间的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5068752/

相关文章:

c# - 永远不会调用 OnPaint 覆盖

c# - 调用(委托(delegate))

c# - 使用 C# 的 Windows 凭据提供程序

c# - XNA Class Design with Structs as Properties 和问题,因为它们是值类型而不是引用类型

c# - 关于异步任务

c# - 在视觉继承的情况下,事件处理的标准方法是什么?

c# - 突出显示标签 Windows 窗体

c# - 等到 BlockingCollection 队列被后台线程清除,如果时间太长则超时?

c# - 反序列化时字节数组大小错误

c# - WinForms 本地化。该语言不反射(reflect)默认的 resx 文件