2016-10-10 4 views
-4

2つのテキストボックスとボタンだけでフォームを作成しました。私は最初に華氏で温度を入力し、 "Convert"ボタンを押すと、プログラムは計算し、他のTextBoxの摂氏温度に置きます。それは正常に動作しています。C#でイベントハンドラを使用する方法

これで、最初のTextBoxで入力を開始するときに2番目のTextBoxをクリアするようにしたいと思います。以下はコードの一部を示していますが、これはうまくいきませんでした。誰か助けてくれますか?

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'イベントをダブルクリックしてから、2番目のTextBox.Length> 0が2番目の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 + =新しい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; }

でこのイベントを実装し、これは単なるデモでコードを書くための良い慣例に従ってください。

関連する問題