Cómo puedo hacer que se cumplan una función en mi Form1 luego de que se cierre el MessageBox?

Рода Tengo el siguiente código que es para que cuando se presione un botón surja la función de que se el texto de los botones y aparezca el texto en el richTextBox, pero quiero que surja la función luego de que se muestre el MessageBox.

Сын Estos los métodos que cumplen подставляет la función de generar el texto de los botones y el richTextBox.

  private void AsignarCitaBtn()
  {
        while (botones.Count != 0)
        {
            Random rnd = new Random();
            int index = rnd.Next(botones.Count);
            txtBtns.Add(botones[index]);
            botones.RemoveAt(index);
        }

        Btn.Text = txtBtns[0];
        Btn2.Text = txtBtns[1];
        Btn3.Text = txtBtns[2];
        Btn4.Text = txtBtns[3];
        Btn5.Text = txtBtns[4];
        Btn6.Text = txtBtns[5];

        txtBtn = Btn.Text;
        txtBtn2 = Btn2.Text;
        txtBtn3 = Btn3.Text;
        txtBtn4 = Btn4.Text;
        txtBtn5 = Btn5.Text;
        txtBtn6 = Btn6.Text;

 }

 private void EscogerCita()
 {
        while (citas.Count != 0)
        {
            Random random = new Random();
            index = random.Next(citas.Count);
            cita = citas[index];
            richTextBox1.Text = cita;
            citas.RemoveAt(index);   
 } 

Довод "против" Entonces este es el botón que quiero oprimir para que se cumplan las funciones si se cumple las condiciones, pero карточная игра quiero que se muestre y cierre el MessageBox y luego se cumpla подставляют el método de EscogerCita y AsignarCitaBtn.

private void button1_Click(object sender, EventArgs e) {
    if (txtBtn == "Filipenses 4:13" && "Todo lo puedo en Cristo." == richTextBox1.Text) {
        MessageBox.Show("Muy Bien!!!");
        puntos = +5;
        label1.Text = "Puntos:" + Convert.ToString(puntos);
        EscogerCita();
        AsignarCitaBtn();
    } else {
        MessageBox.Show("Estas Mal!!");
    }
    EscogerCita();
    AsignarCitaBtn();
}
1
задан 26.10.2016, 00:50
3 ответа

Я не знаю, что было возможно идентифицировать, когда закрывается или нет MessageBox, но рекомендую тебе занимать один DialogResult

DialogResult dialogResult = MessageBox.Show("Muy bien!!!", "",  MessageBoxButtons.OK);
if(dialogResult == DialogResult.Yes)
{
    puntos = +5;
    label1.Text = "Puntos:" + Convert.ToString(puntos);
    EscogerCita();
    AsignarCitaBtn();
}
2
ответ дан 24.11.2019, 12:54

Ты должен использовать DialogResult. Продолжает документация MSDN , чтобы делать то, что ты хочешь.

0
ответ дан 24.11.2019, 12:54

Уже у него есть действительный ответ, но я хотел бы добавить рекомендацию и еще один выбор

  • Для сравнения String использовал (лучший) Equals Usando метод Statico, если бы не могла появляться одна Exceptión поскольку он упомянул об этом @sstan, когда это левой стороны он будет null

    if (String.Equals(txtBtn,"Filipenses 4:13") && 
         String.Equals("Todo lo puedo en Cristo.",richTextBox1.Text) {
    
  • Мессахебокс Пуеде быть таким.

    if(MessageBox.Show("Mensaje a Mostrar", "Titulo del MessageBox",
     MessageBoxButtons.YesNo, MessageBoxIcon.Question)==DialogResult.Yes)
     {
       /* Tareas luego que el Usuario Dió click sobre el Boton Yes del MessageBox*/
        EscogerCita();
        AsignarCitaBtn();
     }
    
0
ответ дан 24.11.2019, 12:54
  • 1
    #191; Из-за qu и # 233; намного лучше использовать Equals? В C # он привыкает использовать ==, чтобы сравнивать strings, и это est и # 225; хорошо. В самом деле предотврати проблемы, если string левой стороны null. Конечно, в Java например, вещь очень различная. –  sstan 26.10.2016, 00:27
  • 2
    @sstan, Из которого я знал Equals, подай много м и # 225; s, чтобы сравнивать объекты и стоимость, в то время как, если мы хотим сравнить стоимость, мы можем использовать как Equals, так и ==, в конце концов, кажется, что оба действительные –  sioesi 26.10.2016, 00:38
  • 3
    @sstan у Тебя Есть много raz и # 243; n, я забывал NullPointerException, возможно ослаблять используя м и # 233; совсем Equals Est и # 225; костариканский класса String. Спасибо за Observaci и # 243; n –  Dev. Joel 26.10.2016, 00:59
  • 4
    Я вижу, что tambi и # 233; n ты манипулируешь Java (его нет NullPointerException в C #, если не NullReferenceException), он может, что all и # 237; мстит идея тому, что tuvistes. Но, в личном, не рекомендовать и # 237; в такие Equals как лучший opci и # 243; n, чтобы сравнивать strings в C #. Другая деталь: если умудрятся использовать Equals с string, не быть и # 237; в тот ссылки, которая у тебя есть, если он не был: msdn.microsoft.com/es-es/library/858x0yyx (v=vs.110) .aspx –  sstan 26.10.2016, 01:03
  • 5
    Спасибо. хороший interacci и # 243; n, что встречается в этих случаях, Он Помогает для довольно всегда. Спасибо за Наблюдения. –  Dev. Joel 26.10.2016, 01:10

Теги

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