Laden...

Form2 wird gezeichnet aber nicht angezeigt

Erstellt von Neokil vor 11 Jahren Letzter Beitrag vor 11 Jahren 502 Views
Thema geschlossen
Neokil Themenstarter:in
206 Beiträge seit 2008
vor 11 Jahren
Form2 wird gezeichnet aber nicht angezeigt

Hallo,

ich habe ein Hauptprogramm, welches mehrere Dateien durchlaufen soll, um den Text zu analysieren.
Jetzt möchte ich einen halb durchsichtigen "Ladebildschirm"(Name: Working) aufbauen und das einfachste was mir dazu eingefallen ist ist eine zweite Form, bei der die Opacity auf 50 gesetzt ist.


private void button4_Click(object sender, EventArgs e)
        {
           //Einige Tests
            //...
            else
            {
                Working w = new Text_Replacer.Working();
                w.Location = new Point(this.Location.X+5, this.Location.Y+30);
                w.Show();

                int fileSuccess = 0;
                int ersetzt = 0;

                foreach (Object file in listBox1.Items)
                {
                    w.SetPercent(fileSuccess / listBox1.Items.Count * 100);
                    w.Dispose();
                    try
                    {
                        //do something...
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message + "\n\nStack:\n" + ex.StackTrace);
                    }
                }
                MessageBox.Show(ersetzt.ToString() + " Vorkommen wurden in " + fileSuccess.ToString() + " Dateien ersetzt.");
                w.Close();
            }
        }

Wenn ich den Code so ausführe wird die Form nicht angezeigt.
Ich habe schon eine MessageBox in die "OnPaint"-Funktion eingefügt und die Form wird auch gezeichnet, allerdings verschwindet sie wieder sobald ich die Messagebox schließe.
Um genau zu sein, wird die Form 2x gezeichnet (egal wie viele Dateien ich habe) und verschwindet dann wieder.
Außerdem sollte das Fenster ja erst geschlossen werden, nachdem ich das Bestätigungsfenster am Ende geschlossen habe.
Gibts da irgendwelche blöden Kleinigkeiten, die ich vergessen habe?
Oder ist es was ganz anderes?

Gruß
Neokil

S
417 Beiträge seit 2008
vor 11 Jahren

Hallo,

was erhoffst du dir von dem w.Dispose()? Du benötigst das Fenster zu diesem Zeitpunkt doch noch.

F
10.010 Beiträge seit 2004
vor 11 Jahren
Hinweis von herbivore vor 11 Jahren

Wenn jemand so lange im Forum ist, sollte er das Top-1- bzw. Top-5-Thema der FAQ kennen, siehe [Hinweis] Wie poste ich richtig? Punkt 1.1.

Thema geschlossen