在windows应用程序中按下并弹出一个按钮

在windows应用程序中按下并弹出一个按钮,windows,winforms,Windows,Winforms,目前我在windows应用程序中工作,要求我有一个按钮,因此当我第一次单击时,它的行为必须像被按下一样,下次我单击同一按钮时,它的行为必须像弹出一样。您可以通过在相同的按钮单击中添加条件来完成 private void button1_Click(object sender, EventArgs e) { if (button1.Text == "Push") { button1.Text = "Pop"; MessageBox.Show("Dat

目前我在windows应用程序中工作,要求我有一个按钮,因此当我第一次单击时,它的行为必须像被按下一样,下次我单击同一按钮时,它的行为必须像弹出一样。

您可以通过在相同的按钮单击中添加条件来完成

private void button1_Click(object sender, EventArgs e)
{
    if (button1.Text == "Push")
    {
        button1.Text = "Pop";
        MessageBox.Show("Data Pushed into the stack");
    }
    else
    {
        button1.Text = "Push";
        MessageBox.Show("Data Popedfrom the stack");
    }
}
最初将button1.文本设置为“Push”,单击时,执行Push操作并将名称更改为“Pop”, 当按钮1.Text为“Pop”时,执行弹出操作并将名称更改为“Push”。
希望您理解…

您可以创建一个全局布尔变量,该变量将在单击按钮时更改。每次单击按钮事件激发时,只需检查布尔状态。同一个按钮可以作为开/关模式工作

Private isStarted As Boolean = False

Private Sub OnStartButtonClick(sender As System.Object, e As System.EventArgs) Handles btnStart.Click
    If (isStarted = False) Then
        isStarted = True
        btnStart.Text = "Stop"

        'DO YOUR WORK'
    Else
        isStarted = False
        btnStart.Text = "Start"

        'DO YOUR WORK'
    End If
End Sub

您可以通过使用复选框并将其外观属性设置为button并将其用作button来实现这一点。 我想这可能对你有帮助

private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (checkBox1.Checked)
        {
            checkBox1.Text = "Pop";
            MessageBox.Show("Data Pushed into the stack");
        }
        else
        {
            checkBox1.Text = "Push";
            MessageBox.Show("Data Poped from the stack");
        }
    }

这将如您所提到的那样起作用。

您正在谈论GUI更改,对吗?是的,我的意思是,当第一次单击按钮时,它将显示一个包含一些信息的网格,该按钮看起来像被按下了,当下次单击同一按钮时,网格将消失,按钮看起来像弹出窗口(表示正常阶段)不,这不是我要找的,我需要在第一次单击按钮时更改一些按钮属性,该按钮看起来像是按下了按钮,第二次单击按钮时,它看起来像是正常按钮,而该按钮未被选中。