2016-10-10 25 views
-4

我创建了一个只有2个文本框和一个按钮的窗体。在第一个中,我用华氏温度键入温度,当按下“转换”按钮时,程序会计算温度并将其放入另一个文本框中以摄氏度显示。它工作正常。如何在C中使用事件处理程序#

现在我希望程序在我开始在第一个文本框中输入时清除第二个文本框。下面我只展示了一部分代码,这些代码并不起作用。有谁能够帮助我?

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
namespace Conv_Temp 
{ 
    public partial class Frm_Principal : Form 
    { 
     public Frm_Principal() 
     { 
      InitializeComponent(); 
     } 

     public event EventHandler Leave; 

     private void Tb_Temp_Leave(object sender, EventArgs e) 
     { 
      MessageBox.Show("Leaving TB Tb_Temp"); 
      Tb_Result.Text=""; 
     } 

    } 
} 
+0

向文本框的“KeyPressed”或“KeyDown”事件添加处理程序。 –

+1

为什么不尝试双击第一个框的Enter键事件,然后从那里你可以做一个简单的检查,看看第二个TextBox.Length> 0,然后清除第二个文本框的文本框并继续。 。什么似乎是问题..这不是那么困难 – MethodMan

+0

可能重复[了解C#中的事件和事件处理程序](http://stackoverflow.com/questions/803242/understanding-events-and-event-handlers -in-c-sharp) – Dante

回答

1

我觉得你快到了。

尝试在InitializeComponent()下添加此项。

this.Tb_Temp.TextChanged + = new System.EventHandler(this.Tb_Temp_Leave);

+0

Rajput。谢谢你的消化。我认为我的代码现在好多了。 – Ismael

+0

Nathan。你的消化能力工作得很好。非常感谢。 :-) – Ismael

+0

@Ismael如果你用它来解决你的问题,你应该点击答案旁边的小复选标记。它为写出答案的人提供声望点,激励进一步的贡献,帮助人们知道您的问题是否已经解决,而无需阅读所有评论。 – Lodestone6

0

在窗体设计器代码中添加新的事件处理函数。

this.textBox1.TextChanged += new System.EventHandler(this.ModifyTextBox1);

,并在上面form.cs实现这个事件文件(Form_Principal)

private void ModifyTextBox1(object sender, EventArgs e) { textBox2.Text = String.Empty; }

请遵守写代码的好习惯,这只是一个演示。

相关问题