2016-10-10 27 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; }

請遵守寫代碼的好習慣,這只是一個演示。

相關問題