基本上我正在编写一个简单的程序来帮助记笔记。我有一行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)
{
}
}
答案 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;
}