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
Hallo,
was erhoffst du dir von dem w.Dispose()
? Du benötigst das Fenster zu diesem Zeitpunkt doch noch.
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.