Laden...

Disable und WaitCursor gleichzeitig klappt nicht

Erstellt von yngwie vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.482 Views
Y
yngwie Themenstarter:in
238 Beiträge seit 2005
vor 12 Jahren
Disable und WaitCursor gleichzeitig klappt nicht

Hallo Community,

in meiner Applikation habe ich eine längere Operation die asynchron im BackgroundWorker ausgeführt wird (es wird auch wo nötig ins UI-Thread synchroniziert). Für die Dauer dieser Operation muss ich ein paar Steuerelemente sperren und deren Cursor - Eigenschaft auf WaitCursor setzten. Getrennt betrachtet machen die Eigenschaften "Enabled" und "Cursor" keine Probleme doch zusammen funktioniert es einfach nicht. Sobald Enabled auf "false" gesetzt wird verwirft das Control den Wert von der Cursor-Eigenschaft und es wird immer nur ein Default Cursor angezeigt. Sprich ich bekomme entweder ein Disabled oder ein WaitCursor aber nicht beides gleichzeitig. Hat eventuell jemand schon mal solches Problem erfolgreich gelöst? Bitte um Hinweise.

PS: Einfaches setzen vom WaitCursor genügt leider nicht da es danach immer noch möglich ist auf dem Control zu clicken:baby: .

Gruß

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo yngwie,

ich hab das nicht probiert, aber wenn so ist, glaub ichs dir. Vielleicht ist es sogar "works as designed".

Der Wait-Cursor ist ja eigentlich sowieso eher out. Und es gibt auch tatsächlich bessere Möglichkeiten, den Benutzer über die noch laufende Aktion zu informieren, z.B. mit einem ProgressBar.

herbivore

3.825 Beiträge seit 2006
vor 12 Jahren

Hallo yngwie,

ich benutze Wait-Cursor und Disablen gleichzeitig.

Allerdings setze ich nicht den Wait-Cursor der Controls auf true, sondern ich setze den Standard-Cursor auf Wait-Cursor :

Cursor.Current = Cursors.WaitCursor;
...
Cursor.Current = Cursors.Default;

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

4.931 Beiträge seit 2008
vor 12 Jahren

Der Sinn sowie die Anwendung von "UseWaitCursor" hat sich mir bisher auch noch nicht erschlossen (und daher benutze ich auch immer die Variante von Bernd).

Y
yngwie Themenstarter:in
238 Beiträge seit 2005
vor 12 Jahren

Hallo BerndFfm,

die beschriebene Variante mit Cursor.Current hätte leider den Nachteil dass gleich die ganze Oberfläche der Applikation betroffen ist. Ich muss ganz gezielt nur bestimmte Controls "sperren". Trotzdem danke ich dir für deine Antwort.

Gruß

D
216 Beiträge seit 2009
vor 12 Jahren

Du kannst doch Cursor.Current auch für ein Control setzen, das muss doch nicht für die ganze Form sein. (Control.Cursor-Eigenschaft)

Darth Maim

Y
yngwie Themenstarter:in
238 Beiträge seit 2005
vor 12 Jahren

Sorry Darth Maim aber wie bereits in meinem Originalpost beschrieben funktioniert es nicht zusammen mit "Enabled = false" wie gewünscht