多行文本作为Windows窗体中的按钮标签
基本上,我正在创建一个椭圆形的按钮。 但我的按钮标签太长而无法显示在一行中,因此我想将其拆分为多行,以便椭圆形按钮看起来很好。
如何在按钮上启用自动换行?
在表单加载上设置标签文本,并将Environment.Newline添加为换行符字符串,如下所示:
btnOK.Text = "OK" + Environment.NewLine + "true";
如果要在VS设计器中将按钮的标签设置为多行文本,可以单击属性字段右侧的“向下箭头”,然后输入多行文本。
我在VS 2015中尝试了这个。
只需在文本中应该拆分的位置添加换行符。
尝试在要包装的位置添加“\ n”到按钮的Text属性。
有两种选择:
- 如果要创建自定义控件,请使用
Autosize = true
选项在其上放置标签控件。 并根据按钮大小调整其大小。 - 在任何地方添加一个新行(有点粗糙)。
您可以使用一个附加属性(例如, 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将在Project页面的Toolbox中可见,因此您不会失去可视化的设计方式。
您只需要在按钮文本中插入换行符(即\ n)。
例:
Button1.AutoSize = true; Button1.Text = "This is \n The Button Text";