1

基本上我正在制作一个简单的程序来帮助我在工作中做笔记。我有一条线textbox1和一条多线textbox2

我希望能够在 中输入任何内容textbox1,然后按“enter”,它会显示在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)
    {

    }
}
4

3 回答 3

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;
}
于 2013-01-31T07:07:00.957 回答
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;
于 2013-01-31T07:14:15.250 回答
3

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

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

但是,如果您希望每次按下按钮时都将 textbox1中的任何内容附加到 textbox2,那么您最好使用 ListView:

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

如果您特别想要一个文本框(数据始终附加到第一行):

void myEvent() 
{ 
   textbox2.Text = textbox1.Text + Environment.NewLine + textbox2.Text; 
}
于 2013-01-31T07:19:21.277 回答