在Windows Forms中将多行文本作为按钮标签

16

基本上,我正在创建一个椭圆形状的按钮。但是我的按钮标签太长,无法在一行中显示,因此我想将其分成多行,以便椭圆形按钮看起来更好。

我该如何在按钮上启用自动换行?

7个回答

40
如果您想在VS设计器中将按钮的标签设置为多行文本,您可以点击属性字段右侧的“向下箭头”,然后您就能够输入多行文本。

VS text multiline property panel

我在VS 2015中尝试过这个。


1
不客气。我自己也很惊讶,很长一段时间我都没有意识到那里有一个小箭头。 - Dan Mirescu
1
啊哈,太简单了! - miguelmpn

31

在表单加载时设置标签文本,并将Environment.Newline作为换行符添加,如下所示:

btnOK.Text = "OK" + Environment.NewLine + "true";

没错,但是可以稍微改进一下:在设计文件中将文本设置为完全相同的方式。这样,窗体设计器GUI将正确显示它,这有助于定位和调整大小。 - Michael

3
只需在文本中加入换行符,即可将其分割成多行。

@Dimesh,如果你把按钮做得稍微大一点(或者用小一点的字体测试)呢? - H H
Alt-Enter?Shift-Enter?Ctrl-Enter?其中一个应该可以,你会看到值在视觉上分成两行。 - Oren

1
尝试在需要换行的位置将"\n"添加到按钮的Text属性中。

0

您可以创建一个带有额外属性(例如Label)的自定义按钮,该属性将"\n"转换为“真正”的换行符(因为VS设计器已经无法做到这一点10年了):

public string Label
{
    get { return (string.IsNullOrEmpty(Text) ? Text : Text.Replace("\n", @"\n")); }
    set {
        Text = (string.IsNullOrEmpty(value) ? value : value.Replace(@"\n", "\n"));
    }
}

一旦您创建了这样的类,您的SuperButton将在项目页面的工具箱中可见,因此您不会失去设计的视觉方式。


0

您只需要在按钮文本中插入一个换行符(即 \n)。

示例:

Button1.AutoSize = true;

Button1.Text = "This is \n The Button Text";

0

有两个选项:

  1. 如果您正在创建自定义控件,则在其中放置一个带有 Autosize = true 选项的标签控件。并根据按钮大小调整其大小。
  2. 在任何您想要的地方添加新行(有点粗糙)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接