如何将文本从一个文本框添加到另一个文本框?

时间:2013-01-31 07:04:17

标签: c# winforms textbox

基本上我正在编写一个简单的程序来帮助记笔记。我有一行textbox1和多行textbox2

我希望能够在textbox1中输入任何内容,然后按“输入”,它会显示在textbox2的第一行。任何帮助将不胜感激。

    public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

    }

    private void textbox1_TextChanged(object sender, EventArgs e)
    {

    }

    private void textBox2_TextChanged(object sender, EventArgs e)
    {

    }
}

3 个答案:

答案 0 :(得分:5)

//in form constructor, or InitializeComponent method
textBox1.Validated += DoValidateTextBox;



//in another place of your class
private void DoValidateTextBox(object sender, EvenArgs e) {
  textBox2.Text =  ((TextBox)sender).Text + Environment.NewLine + textBox2.Text;
}

答案 1 :(得分:3)

这应该有效:

private void textBox1_KeyDown(object sender, KeyEventArgs e) // Keydown event in Textbox1
{
  if (e.KeyCode == Keys.Enter) // Add text to TextBox2 on press Enter
  {
    textBox2.Text += textBox1.Text;
    textBox2.Text+= "\r\n"; // Add newline
    textBox1.Text = string.Empty; // Empty Textbox1
    textBox1.Focus(); // Set focus on Textbox1
  }
}

如果要在文本框的第一行添加文本,请在上面的代码中替换:

textBox2.Text = textBox1.Text + "\r\n" + textBox2.Text;

答案 2 :(得分:3)

这取决于你想要的最终结果。如果你想要的只是第二个文本框的第一行与第一行相等,那么:

void myEvent()
{
    textbox2.Text = textbox1.Text;
}

如果您希望每次按下按钮时文本框1中的任何内容都追加到textbox2,那么最好使用ListView:

void myEvent()
{
   myListView.Items.add(textbox1.Text);
}

如果你特别想要一个文本框(数据总是附加到第一行):

void myEvent() 
{ 
   textbox2.Text = textbox1.Text + Environment.NewLine + textbox2.Text; 
}