folgendes Problem:
Ich habe eine Form mit einem StatusStrip, auf dem ein TollStripStatusLabel und eine TollStripProgressBar sind.
Die ProgressBar ist folgendermaßen voreingestellt:
this.toolStripProgressBar.Name = "toolStripProgressBar";
this.toolStripProgressBar.Size = new System.Drawing.Size(40, 16);
this.toolStripProgressBar.Style = System.Windows.Forms.ProgressBarStyle.Continuous;
this.toolStripProgressBar.Visible = false;
Die ProgressBar soll nur bei Bedarf aufgerufen werden.
Um dies zu realisieren habe ich eine Methode geschrieben die je nach Bedarf einen invoke durchführt oder aber direkt mit der ProgressBar "spricht"
public void SetProgressBar(Boolean xx_aktiv = false)
{
try
{
if (this.statusStrip1.InvokeRequired)
{
this.statusStrip1.Invoke(new MethodInvoker(() => this.toolStripProgressBar.Visible = xx_aktiv));
this.statusStrip1.Invoke(new MethodInvoker(() => this.statusStrip1.Refresh()));
}
else
{
this.toolStripProgressBar.Visible = xx_aktiv;
this.statusStrip1.Refresh();
}
}
catch (Exception ex) { }
}
Nun zu meinem Problem:
die ProgressBar wird nicht sichtbar - egal, ob ich das direkt oder in einem BgWorker mache.
Wenn ich durch steppe, so sehe ich das die Eigenschaft zwar auf Visible = true gesetzt wurde, aber es passiert nichts ...
Wenn ich aber die Eigenschaft Visible in den Form-Eigenschaften auf true stelle, dann sehe ich die ProgressBar, sobald die Maske angezeigt wird (was ich ja nicht will...).
Kann mir das bitte mal jemand plausibel erklären ?
MfG ChrisProg