修改按钮的功能单击

本文关键字:单击 功能 按钮 修改 | 更新日期: 2023-09-27 18:18:01

我知道答案可能真的很明显,但我在这里完全是在胡说八道。

我想做的是有一个简单的表单与两个按钮。第一个按钮显示一条消息说"1"。点击第二个按钮后,点击第一个按钮时显示"2"。再次点击第二个按钮后,它会返回显示"1"。

学习了javascript编程,我仍然在用javascript思考。我的第一个想法是:myButton.onclick =…

之后,我唯一能想到的是在第一个按钮的点击函数中有一个条件,并使用第二个按钮的点击来改变布尔值…

有更好的方法吗?

修改按钮的功能单击

让button2改变点击button1时调用的方法:

    private void button1_Click(object sender, EventArgs e)
    {
        Text = "1";
    }
    private void button1_Click2(object sender, EventArgs e)
    {
        Text = "2";
        button1.Click -= button1_Click2;
        button1.Click += button1_Click;
    }
    private void button2_Click(object sender, EventArgs e)
    {
        button1.Click -= button1_Click;
        button1.Click += button1_Click2;
    }

我明白了,当一个人第一次和第二次点击button2时会发生什么。但是如果你想说这是它必须遵循的模式,那么:

Bool bln = true;
private void button2_Click(object sender, EventArgs e)
{
    if(bln)
       text1();
    else
       text2();
    bln = !bln;
}
private void text1()
{
   // Whatever
}
private void text2()
{
   // Whatever
}

用您正在寻找的任何内容填充方法。在这种情况下,这些方法也可以用于button1单击事件。

希望能有所帮助。

让第二个按钮的click处理程序设置一个消息变量,并简单地让第一个按钮的click处理程序显示它

edit:我是为asp.net写的。转换到winforms应该不难。

声明一个字符串变量:

public static mystring = "1";

在button2_click上你可以改变这个值。我展示的是永久更改一次的简单案例,但您可以编写代码以任何您喜欢的方式进行替换:

protected void btn2_Click(object sender, EventArgs e)
{
    mystring = "2";
}

例如,要在1和2之间交替,可以设置int n = 1的值,并让btn2设置值为(3-n)。tostring ();

那么做:

protected void btn1_Click(object sender, EventArgs e)
{
    Response.Write(mystring);
}

你必须做myButton.onclick-=function_name

+=是添加函数

-=是删除功能

你可以让它这样工作:

private void button1_Click(object sender, EventArgs e)
{
    button1.Text = "Button 1 Text";
    MessageBox.Show("B1 Function1");
    button1.Click -= button1_Click;
    button1.Click += button1_Click2;
}
private void button1_Click2(object sender, EventArgs e)
{
    button.Text = "Button 1 Text 2";
    MessageBox.Show("B1 Function2");
    button1.Click -= button1_Click2;
    button1.Click += button1_Click;
}