Я работаю с базовым Windows Forms C#, код кнопки «Voltar» и щелчка показан ниже. Строка действительно получает правильную строку «Вольтар», но когда она доходит до if, она никогда не входит в этот блок кода.
Поля сообщений: всегда отображается «Вне Вольтара» со строкой «b1» в заголовке, поэтому я вижу, что это правильная строка, но затем переходит прямо к «Действительно мимо Вольтара».
Button voltar = new Button();
voltar.Text = " Voltar";
voltar.Location = new Point(200, 430);
voltar.Size = new Size(75, 25);
voltar.Font = new Font("Verdana", 10, FontStyle.Bold);
voltar.ForeColor = Color.Yellow;
voltar.BackColor = Color.Red;
this.Controls.Add(voltar);
voltar.Click += new EventHandler(submit_click);
}
public void submit_click(object sender, EventArgs e)
{
Boolean flag = true;
String b1 = ((Button)sender).Text;
MessageBox.Show("Outside Voltar", b1, MessageBoxButtons.OK);
if (b1 == "Voltar")
{
MessageBox.Show("Inside Voltar", "Confirm", MessageBoxButtons.OK);
this.Close();
app1.Show();
MessageBox.Show("Past Voltar", "Confirm", MessageBoxButtons.
}
MessageBox.Show("Really past Voltar", "Confirm", MessageBoxButtons.OK);
Подробнее здесь: https://stackoverflow.com/questions/528 ... y-checking