2013-05-14 23 views
6

2つの条件が指定されている場合、私はプログラムを作成しています。最初の2つのテキストボックスには同じ単語があり、ボタンがクリックされて新しいフォームが開きます。あなたは私が登録フォームを作ろうとしているのを見ます;)今私は "完了"ボタンのイベントを持っています。C#ボタンがクリックされたかどうかの確認

private void button2_Click(object sender, EventArgs e) 
    { 
     if (textBox2.Text == textBox3.Text && ???) { 

      StreamWriter myWriter = File.CreateText(@"c:\Program Files\text.txt"); 
      myWriter.WriteLine(textBox1.Text); 
      myWriter.WriteLine(textBox2.Text); 

私の問題は、私は、button1.Clickedまたは何かsimiliarのようなものを与える方法を見つけることです。

私は

答えて

21

Clickは、マウスボタンを離した直後に起動するイベントです。..誰かが私をここに助けることができると思います。だから、button2.Clickのハンドラをチェックしたければ、button1がクリックされていれば、button1.Clickのハンドラがあり、自分自身のboolフラグをtrueに設定します。

private bool button1WasClicked = false; 

private void button1_Click(object sender, EventArgs e) 
{ 
    button1WasClicked = true; 
} 

private void button2_Click(object sender, EventArgs e) 
{ 
    if (textBox2.Text == textBox3.Text && button1WasClicked) 
    { 
     StreamWriter myWriter = File.CreateText(@"c:\Program Files\text.txt"); 
     myWriter.WriteLine(textBox1.Text); 
     myWriter.WriteLine(textBox2.Text); 
     button1WasClicked = false; 
    } 
} 
+5

フラグを確認した後、フラグをリセットすることを忘れないでください。さもなければ、それは一度しか動かないでしょう。 –

+0

私の悪い。 +1して編集しました。 –

+0

ここでプライベートブールを記入する必要がありますbutton1WasClicked = false; ? – ItsLuckies

0

これらは私をたくさん助けた:私は私のGridViewのからの値を保存したかった、と私は私のPageLoad内IsPostBackプロパティきたとして、それは、私の新しい値をオーバーライド/私のGridViewをリロードました。

if (HttpContext.Current.Request["MYCLICKEDBUTTONID"] == null) 
{ 
    //Do not reload the gridview. 

} 
else 
{ 
    reload my gridview. 
} 

SOURCE:http://bytes.com/topic/asp-net/answers/312809-please-help-how-identify-button-clicked

0

ボタン1、ボタン2とボタン3が持っている同じでもハンドラ

private void button1_Click(Object sender, EventArgs e) 
    { 
     Button btnSender = (Button)sender; 
     if (btnSender == button1 || btnSender == button2) 
     { 
      //some code here 
     } 
     else if (btnSender == button3) 
      //some code here 
    } 
+0

回答を編集してコードの書式を修正してください – rtruszk

0

私はこのウェブサイトに非常に新しいです。私はコンピュータアプリケーションの学士号をやっている学部生です。 私はVisual StudioでC#を使用して簡単なプログラムを実行していますが、同じ問題が発生しました。ボタンがクリックされたかどうかを確認する方法はありますか? は、私が何をすべきかわからなかったので、私はインターネットで解決策を探してみました

if(-button1 is clicked-) then 
{ 
this should happen; 
} 
if(-button2 is clicked-) then 
{ 
this should happen; 
} 

、これをやってみたかったです。私は私を助けなかった多くの解決策を得ました。だから、私は自分で何かを試してみましたが、これをした、

int i; 
private void button1_Click(object sender, EventArgs e) 
     { 
      i = 1; 
      label3.Text = "Principle"; 
      label4.Text = "Rate"; 
      label5.Text = "Time"; 
      label6.Text = "Simple Interest"; 
     } 


private void button2_Click(object sender, EventArgs e) 
     { 
      i = 2; 
      label3.Text = "SI"; 
      label4.Text = "Rate"; 
      label5.Text = "Time"; 
      label6.Text = "Principle"; 
     } 
private void button5_Click(object sender, EventArgs e) 
     { 

      try 
      { 
       if (i == 1) 
       { 
        si = (Convert.ToInt32(textBox1.Text) * Convert.ToInt32(textBox2.Text) * Convert.ToInt32(textBox3.Text))/100; 
        textBox4.Text = Convert.ToString(si); 
       } 
       if (i == 2) 
       { 
        p = (Convert.ToInt32(textBox1.Text) * 100)/(Convert.ToInt32(textBox2.Text) * Convert.ToInt32(textBox3.Text)); 
        textBox4.Text = Convert.ToString(p); 
       } 

私は、「i」は、変数を宣言し、別のボタンで異なる値とそれを割り当てられ、もし機能でiの値をチェックします。 それは働いた。もしあればあなたの提案をしてください。ありがとうございました。

関連する問題