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

Winforms 如何在文本框中添加空间,直到达到最大长度?,winforms,Winforms,我想在文本框中添加空格(),直到达到最大长度(1000) 我想在文本框中的空格处写文本,所以文本是第一个,文本完成后,空格开始,直到文本框达到最大长度 如下所示: textbox1.text = "mytext" + " "; 但是我想要的空间只是填充文本框,直到达到最大长度(1000) 我想知道的另一件事是,文本框中的文本是否大于最大长度 然后删除多余部分(1000后的文本) 请帮助您可以使用该方法 首先检查长度是否大于允许的最大值,然后使用该长度将其切割

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

我想在文本框中的空格处写文本,所以文本是第一个,文本完成后,空格开始,直到文本框达到最大长度

如下所示:

textbox1.text = "mytext" + "                   ";
但是我想要的空间只是填充文本框,直到达到最大长度(1000)

我想知道的另一件事是,文本框中的文本是否大于最大长度 然后删除多余部分(1000后的文本)

请帮助

您可以使用该方法


首先检查长度是否大于允许的最大值,然后使用该长度将其切割到合适的尺寸。如果长度小于最大值,则可以使用填充文本

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

注意:因为您要求将文本修剪到最大长度,那么我假设您没有使用
文本框的属性
——因为这已经阻止添加超过限制的内容,我建议您使用该属性,这样您就不必担心自己会被修剪,然后你可以做:

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

我想这就是你想要的,对吗

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;
}
public String writeMax(String myText,int maxLenght)
{
int count=myText.Length;
字符串temp=“”;
如果(计数>=最大长度)
{
temp=myText.substring(0,maxLength);
}
其他的
{
对于(int i=0;i
您不需要太多的字符串。Len创造了奇迹。尾随空格通常是一种痛苦。为什么要在字符串末尾添加数百个空格?为什么要这样做?@KSdev:如果帖子有问题,请详细描述问题,而不是只发布“你尝试了什么”。查看“您尝试了什么”的评论是否可以接受,以及“您尝试了什么”的替代方案。谢谢您实际上还没有指定我们讨论的web/winforms/wpf是哪种文本框,但不管它是哪种文本框(假设MaxLength存在),都应该可以工作,但是在我将此代码添加到按钮后,什么都没有发生,它没有修剪或添加空格。您能告诉我项目的源代码吗please@user3227682例如在我的回答中,它在上面。我只是把它放在一个按钮点击事件中,就像你说你试过的那样。我不能给你完整的项目来源。您正在使用代码的顶层,对吗?你在用WinForms吗?我用c#什么是winforms@user3227682:WinForms=Windows窗体应用程序,您正在生成的应用程序类型。其他选项包括WPF和ASP.NETWebForms
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;
}