C#检查是否单击了按钮

时间:2013-05-14 22:18:08

标签: c# button click

我正在制作一个程序,如果给出2个条件,那就应该继续。第一个2个TextBox具有相同的单词并单击一个Button,这将打开一个新的Form。您看到我正在尝试制作注册表单;)现在我有“完成”按钮的事件。

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或类似内容的方法。

我希望有人可以帮助我..

4 个答案:

答案 0 :(得分:25)

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;
    }
}

答案 1 :(得分:0)

这些对我有很大的帮助:我想从gridview中保存值,它正在重新加载我的gridview /覆盖我的新值,因为我的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

答案 2 :(得分:0)

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
    }

答案 3 :(得分:0)

我对这个网站很新。我是一名本科生,攻读计算机应用学士学位。 我正在使用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的值。 有效。提出你的建议。谢谢。