App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
C# Shell Kommando ausführen und Invalidate der Main Form
- Ersteller bill
- Erstellt am
bill
Commodore Special
- Mitglied seit
- 18.02.2003
- Beiträge
- 419
- Renomée
- 4
- Mein Laptop
- IBM ThinkPad X60s
- Prozessor
- intel E8400@4005MHz
- Mainboard
- MSI P35 Neo2-FR
- Kühlung
- Scythe Zipang
- Speicher
- 4*1024 GeIL PC2-6400U CL4-4-4-12
- Grafikprozessor
- BFG GeForce 8800 GTS OC (G92)
- Display
- hp w2408h 24" TFT @ 1920x1200
- HDD
- Samsung SpinPoint F1 750GB, Samsung SpinPoint 250GB
- Optisches Laufwerk
- LG E40N, Toshiba DVD-ROM SD-M1612
- Soundkarte
- SoundBlaster Audigy 2
- Gehäuse
- Antec P190
- Netzteil
- Antec DualLink 1200W
- Betriebssystem
- Windows 7
- Webbrowser
- Firefox
Hallo!
Ich habe ein kleines Programm in C# geschrieben, bei dem man in einer Listbox bestimmte Elemente anlegen kann, dann auf einen Execute Button drückt, wodurch dann die Einträge in einem Kommandozeilentool einzeln bearbeitet werden.
Ist die Bearbeitung erfolgreich, wird das Element grün markiert, ansonsten rot. Genau hier ist jetzt der kleine Haken : Der Aufruf der Kommandozeile (über System.Diagnostics.Process)
wird in einer for-Schleife durchgeführt (für jedes Element der ListBox eben) und am Schluss einer Iteration, rufe ich für die ListBox "Invalidate(true)" auf. Dies klappt leider nicht! Die Items verschwinden und werden nicht mehr angezeigt.
Es scheint so, dass der Kommandozeilenprozess sich die Komplette Scheduling-Zeit des Programms krallt und somit die Invalidate-funktion zu kurz kommt. Sobald nämlich die for-Schleife durchgelaufen ist, werden alle Items entsprechend gefärbt.
Weis jemand einen Rat, woran das liegen könnte und wie ichs verhindern kann?? Eventuell müsste ich den Kommandozeilenaufruf in einen eigenen Thread aufrufen, nur wüsste ich nicht wie. Würde das was bringen?
Alle Hilfen sind willkommen
Gruß,
bill
Ich habe ein kleines Programm in C# geschrieben, bei dem man in einer Listbox bestimmte Elemente anlegen kann, dann auf einen Execute Button drückt, wodurch dann die Einträge in einem Kommandozeilentool einzeln bearbeitet werden.
Ist die Bearbeitung erfolgreich, wird das Element grün markiert, ansonsten rot. Genau hier ist jetzt der kleine Haken : Der Aufruf der Kommandozeile (über System.Diagnostics.Process)
wird in einer for-Schleife durchgeführt (für jedes Element der ListBox eben) und am Schluss einer Iteration, rufe ich für die ListBox "Invalidate(true)" auf. Dies klappt leider nicht! Die Items verschwinden und werden nicht mehr angezeigt.
Es scheint so, dass der Kommandozeilenprozess sich die Komplette Scheduling-Zeit des Programms krallt und somit die Invalidate-funktion zu kurz kommt. Sobald nämlich die for-Schleife durchgelaufen ist, werden alle Items entsprechend gefärbt.
Weis jemand einen Rat, woran das liegen könnte und wie ichs verhindern kann?? Eventuell müsste ich den Kommandozeilenaufruf in einen eigenen Thread aufrufen, nur wüsste ich nicht wie. Würde das was bringen?
Alle Hilfen sind willkommen
Gruß,
bill
Brutus5000
Fleet Captain Special
- Mitglied seit
- 13.04.2002
- Beiträge
- 283
- Renomée
- 2
- Standort
- Bochum
- Prozessor
- Intel C2D E8400
- Mainboard
- ASUS P5B, Sockel 775 Intel P965
- Speicher
- 2x 1024MB DDR2 Corsair XMS2 CL 5, PC6400/800
- Grafikprozessor
- XFX GeForce 7950GT 570M XT
- Display
- BenQ FP93GX 19"
- HDD
- WD6400AAKS
- Soundkarte
- Creative SoundBlaster Audigy SE
- Gehäuse
- Coolermaster Centurion5
- Netzteil
- Be Quiet! Dark Power Pro 430W
- Betriebssystem
- Windows NT 5.1 SP2
Den Angaben der MSDN zufolge musst du noch Update() aufrufen, um die Neuzeichnung durchzuführen.
Im übrigen wird ja ein neuer Prozess gestartet. Dieser würde dein Programm nur blockieren, wenn du entsprechend den Parametern darauf wartest. Hier wäre der Code ggfs. mal ganz nützlich.
http://msdn2.microsoft.com/en-us/netframework/xz8ytzt0(VS.80).aspx schrieb:Calling the Invalidate method does not force a synchronous paint; to force a synchronous paint, call the Update method after calling the Invalidate method. When this method is called with no parameters, the entire client area is added to the update region.
http://msdn2.microsoft.com/en-us/netframework/system.windows.forms.control.update(VS.80).aspx schrieb:The Invalidate method governs what gets painted or repainted. The Update method governs when the painting or repainting occurs. If you use the Invalidate and Update methods together rather than calling Refresh, what gets repainted depends on which overload of Invalidate you use. The Update method just forces the control to be painted immediately, but the Invalidate method governs what gets painted when you call the Update method.
Im übrigen wird ja ein neuer Prozess gestartet. Dieser würde dein Programm nur blockieren, wenn du entsprechend den Parametern darauf wartest. Hier wäre der Code ggfs. mal ganz nützlich.
Zuletzt bearbeitet:
bill
Commodore Special
- Mitglied seit
- 18.02.2003
- Beiträge
- 419
- Renomée
- 4
- Mein Laptop
- IBM ThinkPad X60s
- Prozessor
- intel E8400@4005MHz
- Mainboard
- MSI P35 Neo2-FR
- Kühlung
- Scythe Zipang
- Speicher
- 4*1024 GeIL PC2-6400U CL4-4-4-12
- Grafikprozessor
- BFG GeForce 8800 GTS OC (G92)
- Display
- hp w2408h 24" TFT @ 1920x1200
- HDD
- Samsung SpinPoint F1 750GB, Samsung SpinPoint 250GB
- Optisches Laufwerk
- LG E40N, Toshiba DVD-ROM SD-M1612
- Soundkarte
- SoundBlaster Audigy 2
- Gehäuse
- Antec P190
- Netzteil
- Antec DualLink 1200W
- Betriebssystem
- Windows 7
- Webbrowser
- Firefox
Super, danke dir für die Antwort! Kann es nur leider grad nicht testen, da der Code bei mir im Geschäft liegt Deswegen konnte ich auch kein Code einfügen...werde es morgen dann mal nachholen, wenn es noch zu weiteren Problemen kommen sollte.
bill
Commodore Special
- Mitglied seit
- 18.02.2003
- Beiträge
- 419
- Renomée
- 4
- Mein Laptop
- IBM ThinkPad X60s
- Prozessor
- intel E8400@4005MHz
- Mainboard
- MSI P35 Neo2-FR
- Kühlung
- Scythe Zipang
- Speicher
- 4*1024 GeIL PC2-6400U CL4-4-4-12
- Grafikprozessor
- BFG GeForce 8800 GTS OC (G92)
- Display
- hp w2408h 24" TFT @ 1920x1200
- HDD
- Samsung SpinPoint F1 750GB, Samsung SpinPoint 250GB
- Optisches Laufwerk
- LG E40N, Toshiba DVD-ROM SD-M1612
- Soundkarte
- SoundBlaster Audigy 2
- Gehäuse
- Antec P190
- Netzteil
- Antec DualLink 1200W
- Betriebssystem
- Windows 7
- Webbrowser
- Firefox
Hallo!
Wollte nur nochmal bestätigen, dass es das war! Danke dir nochmals!
Gruß,
bill
Wollte nur nochmal bestätigen, dass es das war! Danke dir nochmals!
Gruß,
bill
Ähnliche Themen
- Antworten
- 0
- Aufrufe
- 52K
- Antworten
- 0
- Aufrufe
- 142K