Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 文本框项目复制到不同的文本框_C#_Loops_Textbox - Fatal编程技术网

C# 文本框项目复制到不同的文本框

C# 文本框项目复制到不同的文本框,c#,loops,textbox,C#,Loops,Textbox,我想在我的一个项目中执行一项任务 我想把一个文本框中的项目转移到不同的文本框中。我可以这样做 string[] values = textBox1.Text.Split('#'); textBox2.Text = values[0]; textBox3.Text = values[1]; textBox4.Text = values[2]; textBox5.Text = values[3]; textBox6.Text = values[4]; 我想要的是将5个项目复制到5个不同的文本框中。

我想在我的一个项目中执行一项任务

我想把一个文本框中的项目转移到不同的文本框中。我可以这样做

string[] values = textBox1.Text.Split('#');
textBox2.Text = values[0];
textBox3.Text = values[1];
textBox4.Text = values[2];
textBox5.Text = values[3];
textBox6.Text = values[4];
我想要的是将5个项目复制到5个不同的文本框中。必须从“来源”文本框中删除这5项。

**假设我在一个名为textBox1的文本框中有10个条目,它们被#分割

例如:a#b#c#d#e#f#g#h#i#j

现在,单击名为button1的按钮

发生以下事件

文本框2中的a/b文本框3中的b/c文本框4中的a/d文本框6中的文本框5/e

-现在,当我再次单击按钮1时

我希望文本框1中剩下的5项必须是这样的


f在textBox2中/g在textBox3中/h在textBox4中/i在textBox5中/j在textBox6中用于从
原始文本框中删除使用:(仅示例)

如果您确定有5个项目:

 private void button_Click(object sender, EventArgs e)
 {  
       string[] values = textBox1.Text.Split('#');

        if (values.Length >= 5)
        {
            textBox2.Text = values[0];
            textBox3.Text = values[1];
            textBox4.Text = values[2];
            textBox5.Text = values[3];
            textBox6.Text = values[4];

            //change the destination
             if (values.Length == 5)
                textBox1.Text = textBox1.Text.Substring(9); 
            else if (values.Length > 5)
                textBox1.Text = textBox1.Text.Substring(10); 
        }
  }

尝试此操作,一旦用户单击按钮,以前的值将自动删除,并被新值替换

    int noOfTimesClicked=0;

    private void FillTextBoxes()
    {
          string[] values = textBox1.Text.Split('#');
          textBox2.Text = values[noOfTimesClicked] != null ? values[noOfTimesClicked] : "";
          textBox3.Text = values[(noOfTimesClicked) + 1] != null ? values[(noOfTimesClicked) + 1] : "";
          textBox4.Text = values[(noOfTimesClicked) + 2] != null ? values[(noOfTimesClicked) + 2] : "";
          textBox5.Text = values[(noOfTimesClicked) + 3] != null ? values[(noOfTimesClicked) + 3] : "";
          textBox6.Text = values[(noOfTimesClicked) + 4] != null ? values[(noOfTimesClicked) + 4]:"";
          noOfTimesClicked = noOfTimesClicked + 5;
    }

希望这对您有所帮助:)

我将开始编写一个方法,尝试拆分字符串,并使用一个值来限制要返回的拆分字符串的数量。同样的方法应该从输入字符串中删除分割的部分,并返回包含分割字符串的数组和原始字符串的其余部分

string[] SplitWithLimit(ref string test, int limit)
{
    int count=0;
    int pos=-1;

    // Try to find the position of the # at the limit count
    while((pos = test.IndexOf('#', pos+1)) != -1)
    {
        count++;
        if(count == limit)
            break;
    }

    string toSplit;
    if(pos != -1)
    {
        // Take the left part of the string to be splitted
        // till the position of the char at limit boundary
        toSplit = test.Substring(0, pos);
        test = test.Substring(pos+1);
    }
    else
    {
        // If there are less # than required, take all the string
        toSplit = test;
        test = "";
    }
    // Now split only the required part   
    string[] parts = toSplit.Split(new char[] {'#'}, StringSplitOptions.RemoveEmptyEntries);
    return parts;
}
现在只需处理此操作的结果,将原始文本框设置为剩余文本框,将接收文本框设置为拆分的数组

TextBox2.Text =string.Empty;
TextBox3.Text =string.Empty;
TextBox4.Text =string.Empty;
TextBox5.Text =string.Empty;
TextBox6.Text =string.Empty;

string test = TextBox1.Text; //"a#b#c#d#e#f#g#h#j"
string[] parts = SplitWithLimit(ref test, 5);
if(parts.Length > 0)
    TextBox2.Text = parts[0];
if(parts.Length > 1)
    TextBox3.Text = parts[1];
if(parts.Length > 2)
    TextBox4.Text = parts[2];
if(parts.Length > 3)
    TextBox5.Text = parts[3];
if(parts.Length > 4)
    TextBox6.Text = parts[4];

TextBox1.Text = test;

当TBBOX1到各种文本框中选择5个项目时,必须从TeBBOX1.@ Dr.ZeS删除5个项目。您是否已经尝试了上面的代码来固定5个项目?先生,您的代码将一个项目随机分割成两个部分。例如,如果项目是C++,则将C发送到TrimBox 2++,以输入TrimBox 3YA。研究结果表明,该研究结果表明,该研究结果表明,该研究结果表明,该研究结果表明,该研究结果表明,该研究结果表明,该研究结果表明,该研究结果表明,该研究结果表明,该研究结果是一个研究者对某个研究者的研究结果是,该研究结果表明,该研究结果表明,该研究结果是一个研究结果表明,该研究结果表明,该研究结果是一个研究结果是一个研究者对某一个政府资助资助的研究结果,对该研究者的研究结果,该研究结果是一个研究结果是一个研究结果,该研究者对未来未来未来未来未来未来未来的研究结果是一个研究结果,对未来未来未来的研究者的研究者对该研究结果是一个研究结果,对未来未来未来未来的研究者的研究结果是一个研究者对未来未来未来未来的研究者的研究者,对未来未来未来未来未来的研究者的研究结果是,对对未来未来未来未来的研究者的研究结果是从从从从从从从从Gesqvt#feuecwetfscmibjwnfqfehdgrhb#Isisokcrukpiamugnaqf#rvpyquljfbhegqaskorgmfrtp#esevwfhftkunglcixstfvhsgkw#KDIWCGWDSQJLGGKGMNVSC#抱歉,先生,这对我没有帮助。:(先生,它在第行((textBox2.Text=parts[0];)中抛出以下错误((索引超出了数组的边界。))收到,将>=更改为>,修复now@HassanNisar代码在开始操作之前已经清除了接收文本框。
TextBox2.Text =string.Empty;
TextBox3.Text =string.Empty;
TextBox4.Text =string.Empty;
TextBox5.Text =string.Empty;
TextBox6.Text =string.Empty;

string test = TextBox1.Text; //"a#b#c#d#e#f#g#h#j"
string[] parts = SplitWithLimit(ref test, 5);
if(parts.Length > 0)
    TextBox2.Text = parts[0];
if(parts.Length > 1)
    TextBox3.Text = parts[1];
if(parts.Length > 2)
    TextBox4.Text = parts[2];
if(parts.Length > 3)
    TextBox5.Text = parts[3];
if(parts.Length > 4)
    TextBox6.Text = parts[4];

TextBox1.Text = test;