Вопрос по button, c#, click – C # Проверка, была ли нажата кнопка

6

Я делаю Программу, которая должна продолжаться, если даны 2 условия. Первые 2 текстовых поля имеют одно и то же слово, и была нажата кнопка, открывающая новую форму. Вы видите, я пытаюсь сделать регистрационную форму;) Теперь у меня есть событие для кнопки «завершить».

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   ответа
24

Click это событие, которое срабатывает сразу после того, как вы отпустите кнопку мыши. Так что если вы хотите проверить в обработчике дляbutton2.Click еслиbutton1 щелкнули раньше, все, что вы могли сделать, это иметь обработчик дляbutton1.Click который устанавливает флаг bool вашего собственного создания в true.


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;
    }
}
Не забудьте сбросить флажок после его проверки. В противном случае это будет работать только один раз. Robert Harvey♦
Виноват. +1 и отредактировано. Jan Doerrenhaus
Это поле внутри вашего класса формы. Jan Doerrenhaus
Понял, спасибо ;) ItsLuckies
Где я должен заполнить приватный bool button1WasClicked = false; ? ItsLuckies
0

я хотел сохранить значения из моего вида сетки, и он перезагружал мой вид сетки / переопределял мои новые значения, так как у меня есть IsPostBack внутри моего PageLoad.

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

ти «Компьютерные приложения». Я делаю простую программу в 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 в функции if. Это сработало. Дайте ваши предложения, если таковые имеются. Спасибо.

0

button2 и button3 имеют одинаковый четный обработчик

private void _Click(Object sender, EventArgs e)
    {
        Button btnSender = (Button)sender;
        if (btnSender ==  || btnSender == button2)
        {
            //some code here
        }
        else if (btnSender == button3)
            //some code here
    }
Пожалуйста, отредактируйте ваш ответ и исправьте правильное форматирование кода rtruszk

Похожие вопросы