DialogResult wird nicht erkannt?

Keine Ahnung was da los ist. Quasi den selben code benutze ich in einem anderen Projekt auch und da funktioniert es einwandfrei. Mit einem openFileDialog oder einer MessageBox funktioniert es auch.

Die 2te Form wird über einen button aufgerufen:

private void RenameButton_Click(object sender, EventArgs e)
        {
            using (RenameForm renameForm = new RenameForm())
            {
                if (renameForm.ShowDialog() == DialogResult.OK)
                {
                    //...
                }
                else
                {
                    MessageBox.Show("Test");
                }
            }
        }

Wenn man aber jetzt den button in der 2ten Form drückt wird einem trotzdem die Test MessageBox angezeigt...:

private void btnOK_Click(object sender, EventArgs e)
        {
            NewFileName = textBox1.Text;
            if (string.IsNullOrEmpty(NewFileName))
            {
                MessageBox.Show("Bitte gib einen gültigen Dateinamen ein.", "Ungültiger Dateiname", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }


            this.DialogResult = DialogResult.OK;
        }

Ich freue mich über jede Hilfe die ich kriegen kann.
Ich mach da schon wieder viel zu lange herum.

programmieren, C Sharp, Code, Visual Studio, Windows Forms
C#: Wie kann ich den nächstmöglichen Divisor finden?

Hey, hier erst einmal mein Code:

using System;

class Matheaufgabe
{
  static void Main()
  {
    bool weitermachen = true;
    Console.WriteLine("Möchten Sie eine Aufgabe berechnen? [Ja|Nein]");
    string antwort = Console.ReadLine().ToLower();

    while (antwort != "ja" && antwort != "nein")
    {
      Console.WriteLine("Bitte geben Sie 'Ja' oder 'Nein' ein.");
      antwort = Console.ReadLine().ToLower();
    }

    if (antwort == "ja")
    {
      while (weitermachen)
      {
        Random random = new Random();
        int zahl1;
        int zahl2;
        int ergebnis;
        char operatorChar;
        int operatorIndex = random.Next(4);

        if (operatorIndex == 3)
        {
          zahl2 = random.Next(1, 101);
          zahl1 = random.Next(zahl2, 101);
        }
        else
        {
          zahl1 = random.Next(1, 101);
          zahl2 = random.Next(1, 101);
        }

        switch (operatorIndex)
        {
          case 0:
            operatorChar = '+';
            ergebnis = zahl1 + zahl2;
            break;
          case 1:
            operatorChar = '-';
            ergebnis = zahl1 - zahl2;
            break;
          case 2:
            operatorChar = '*';
            ergebnis = zahl1 * zahl2;
            break;
          default:
            operatorChar = '/';
            ergebnis = zahl1 / zahl2;
            break;
        }

        if (operatorChar == '/' && ergebnis % zahl2 != 0)
        {
          while (ergebnis % zahl2 != 0)
            zahl2--;

          ergebnis = zahl1 / zahl2;
        }

        Console.WriteLine($"Wie lautet das Ergebnis von {zahl1.ToString()} {operatorChar.ToString()} {zahl2.ToString()}?");
        int benutzerErgebnis;
        bool validInput;

        do
        {
          validInput = int.TryParse(Console.ReadLine(), out benutzerErgebnis);

          if (!validInput)
            Console.WriteLine("Bitte geben Sie eine Zahl ein.");
        }
        while (!validInput);

        if (benutzerErgebnis == ergebnis)
          Console.WriteLine("Richtig");
        else
          Console.WriteLine("Falsch! Das richtige Ergebnis wäre: " + ergebnis);

        Console.WriteLine("Möchten Sie eine weitere Aufgabe lösen? (Ja/Nein)");
        antwort = Console.ReadLine().ToLower();

        while (antwort != "ja" && antwort != "nein")
        {
          Console.WriteLine("Bitte geben Sie 'Ja' oder 'Nein' ein.");
          antwort = Console.ReadLine().ToLower();
        }

        if (antwort == "nein")
          weitermachen = false;
      }
    }

    Console.WriteLine("Bis zum nächsten Mal");
    Console.ReadKey();
  }
}

So, wenn der Operator / sein sollte und das vorläufige Ergebnis eine Kommmastelle enthält, soll durch Modulo der nächstmögliche Divisor herausgefunden und durch den alten Divisor ersetzt werden.

Wie kriege ich es hin, das er den nächstmöglichen Divisor findet? Der kann ja kleiner und größer als der davor sein.

C Sharp, Programmiersprache, Modulo

Meistgelesene Beiträge zum Thema C Sharp