我做了一个测验,将问题存储在SQL database
中,并在Rich Text Box
中显示问题,在Check Boxes
中显示答案。
但有时答案太长,我需要更多空间来展示。我认为multiline
可以帮助我,但我无法找到办法。
谢谢!
答案 0 :(得分:1)
Winforms复选框的AutoSize
属性默认设置为true
。*
如果您将其设置为false
,则可以更改复选框的高度,并且文本会自动换行。
但是,如果AutoSize
属性设置为false
,则必须自己设置复选框的宽度和高度。
*正如TaW在其评论中提到的,AutoSize
属性的默认值仅为true
在设计器中添加复选框时。对于动态创建的复选框,默认值为false
。
答案 1 :(得分:0)
如果设置复选框的宽度,您将自动获得多行。 我做了一个简单的例子,说明如何设置控件的宽度(如果你想要宽度设置为硬),然后只调整高度。 最好设置高度正确或文本可能被剪裁。
试试这个:
private void CreateCheckBox(){
CheckBox cb = new CheckBox();
cb.Location = new Point(10, 10);
cb.Width = 150;
Controls.Add(cb);
cb.Text = "This is a long text that needs to be broken down into multiple lines.";
cb.Height = GetHeight(cb);
}
private static int GetHeight(CheckBox cb) {
using (Graphics g = cb.CreateGraphics()) {
var size = g.MeasureString(cb.Text, cb.Font);
int rows = (int)Math.Ceiling(((double) size.Width/cb.Width));
return (int)(rows*size.Height);
}
}