web-dev-qa-db-ja.com

C#ボタンがクリックされたかどうかの確認

私はプログラムを作成していますが、2つの条件が与えられた場合に継続する必要があります。最初の2つのTextBoxには同じWordがあり、ボタンをクリックすると、新しいフォームが開きます。登録フォームを作成しようとしているのがわかります;)今、「完了」ボタンのイベントがあります。

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などのようなものを与えるメソッドを見つけることができないことです。

ここで誰かが私を助けてくれることを願っています。

7
ItsLuckies

Clickは、マウスボタンを離した直後に発生するイベントです。したがって、button2.Clickのハンドラーをチェックインしたい場合、button1が以前にクリックされていれば、自分で作成したブールフラグをtrueに設定するbutton1.Clickのハンドラーがあれば十分です。 。

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;
    }
}
27
Jan Doerrenhaus

これらは私を大いに助けました:私はグリッドビューから値を保存したかったのですが、PageLoad内にIsPostBackがあるので、グリッドビューを再読み込み/新しい値を上書きしていました。

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

}
else
{
   reload my gridview.
}

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

0
Safi

button1、button2、およびbutton3には同じ偶数ハンドラーがあります

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
Muhammad Umair

私はこのウェブサイトに非常に新しいです。私は学士課程の学生で、コンピューター学士号を取得しています。 C#を使用してVisual Studioで簡単なプログラムを実行していますが、同じ問題に遭遇しました。ボタンがクリックされたかどうかを確認するにはどうすればよいですか?これをやりたかった

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」を宣言し、異なるボタンで異なる値を割り当て、if関数でiの値を確認しました。動いた。もしあれば提案をしてください。ありがとうございました。