如何在文本框中添加空格直到达到最大长度?

时间:2014-01-23 13:42:28

标签: winforms

我想在文本框中添加一个空格(),直到达到最大长度(1000)

我希望在文本框中写入文本连接空格,以便文本首先在文本结束后开始空格开始,直到达到文本框的最大长度为止。

如下所示:

textbox1.text = "mytext" + "                   ";

但我希望空间只是填充文本框,直到达到最大长度(1000)。

和我想要的另一件事是文本框中的文本是否大于最大长度 然后删除多余的(1000后的文本)

请帮助

3 个答案:

答案 0 :(得分:6)

您可以使用string.PadRight()方法。

textbox1.Text = textbox1.Text.PadRight(textbox1.MaxLength, ' ');

答案 1 :(得分:1)

首先检查长度是否大于允许的最大长度,如果是,则使用Substring将其缩小到最大尺寸。如果长度小于最大值,则可以使用PadRight填充文本...

string text = textbox1.Text;//get the text to manipulate
int max = 1000;

if(text.Length > max)//If the current text length is greater than max
    text = text.Substring(0, max);//trim the text to the maximum allowed
else
    text = text.PadRight(max, ' ');//pad extra spaces up until the correct length

//text will now be the same length as max (with spaces if required)

textbox1.Text = text;//set the new text value back to the TextBox

注意:因为您已询问有关将文本修剪为最大长度的问题,所以我假设您没有使用TextBox的{​​{3}}属性 - 因此已经阻止添加超过限制,我建议使用它,然后你不必担心修剪自己,你可以这样做:

textbox1.Text = textbox1.Text.PadRight(textbox1.MaxLength, ' ');

答案 2 :(得分:0)

我认为这就是你想要的吗?

public String writeMax(String myText, int maxLenght)
{
  int count = myText.Length;
  String temp = "";

  if(count >= maxLength)
  {
    temp = myText.substring(0, maxLength);
  }
  else
  {
    for(int i = 0; i < maxLength - count; i++)
    {
      temp += " ";
    }
    temp = myText + temp;
  }
  return temp;
}