在运行时将长文本插入标签

时间:2013-12-19 09:54:36

标签: c# visual-studio-2010 text label

我在c#中创建一个标签(随机文本,仅作为示例):

Label lblText = new Label();
lblText.Text = "A computer is a general purpose device that can be programmed to carry out a set of arithmetic or logical operations. Since a sequence of operations can be readily changed, the computer can solve more than one kind of problem.";
lblText.Location = new Point(48, 95);

但是当它显示时,我只能看到:“计算机是一个”

如何显示整个文字?

修改 AutoSize工作,但它超越了窗口的边界,有什么像“autoNewLine”?保持文本在窗口内

3 个答案:

答案 0 :(得分:3)

查看Label.AutoSize

  

获取或设置一个值,该值指示控件是否自动调整大小以显示其全部内容。   [...]   使用设计器添加到表单时,默认值为true。 从代码实例化时,默认值为false

如果您还想要自动换行,请查看this question

引用John Gietzen的答案:

  

如果您将标签设置为AutoSize,它将随您放入的任何文本自动增长。 (这包括垂直增长。)   如果要以特定宽度进行自动换行,可以设置MaximumSize属性。

myLabel.MaximumSize = new Size(100, 0);
myLabel.AutoSize = true;

答案 1 :(得分:1)

您需要将此属性lblText.AutoSize = True;设置为true,因为它是在运行时创建的,并且将具有false的默认值

   Label lblText = new Label();    
    lblText.AutoSize = True;
    lblText.Text = "A computer is a general purpose device that can be programmed to carry out a set of arithmetic or logical operations. Since a sequence of operations can be readily changed, the computer can solve more than one kind of problem.";
    lblText.Location = new Point(48, 95);

答案 2 :(得分:0)

这是因为Width的{​​{1}}属性不够高。增加TextBox的{​​{1}},文本的其余部分将自动显示。

您还可以通过将Width属性设置为TextBox,将TextBox自动调整为正确的宽度。