如何在C#中通过按钮实现两个TextBox的数据互换?
如何在C#中互换两个TextBox的内容?
你碰到的这个问题其实是新手写交换逻辑时很容易踩的坑——直接赋值会覆盖掉其中一个文本框的原始内容!当你先把txt2.Text赋值给txt1.Text后,txt1原来的内容就被覆盖了,这时候再去取txt1.Text赋值给txt2,拿到的已经是txt2原来的内容,自然最后两个文本框的内容就一模一样了。
解决这个问题的核心是用一个临时变量暂存其中一个文本框的原始内容,具体代码如下:
private void button1_Click(object sender, EventArgs e) { // 临时保存textbox1的原始内容 string tempContent = txt1.Text; // 将textbox2的内容赋值给textbox1 txt1.Text = txt2.Text; // 将临时保存的原textbox1内容赋值给textbox2 txt2.Text = tempContent; }
逻辑解释:
- 第一步先把
txt1的原始内容存在tempContent里,这样就算之后修改txt1.Text,我们也能拿到最初的内容。 - 第二步把
txt2的内容传给txt1,这时候txt1的内容更新了,但我们的临时变量里还留着它原来的值。 - 第三步把临时变量里的内容传给
txt2,完成互换。
这个方法不管文本框内容是空字符串还是长文本,都能稳定工作,逻辑简单清晰。
内容的提问来源于stack exchange,提问作者Jacob Gear
相关产品推荐
相关产品推荐

