Bildschirmausgabe kurz anhalten

  • VB.NET
  • .NET (FX) 4.0

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Bildschirmausgabe kurz anhalten

    Ich erinnre mich dunkel das es in VB mal möglich war, die Bildschirmausgabe kurz einzufrieren, irgend etwas an der Form zu verändern ohne das Geflimmer und Gewusel auf dem Bildschirm erscheint und dann den Bildschirm wieder weiterlaufen zu lassen.
    Geht das noch und wenn ja, wie?
    Man(n) kann auch ohne Hunde leben, aber es lohnt nicht (Heinz Rühmann)
    Öhm, würd mal "DoubleBuffered" sagen.
    Damit sollte es kein flimmern geben..


    VB.NET-Quellcode

    1. Public Shared Sub SetDoubleBuffered(ByVal c As Control, Optional enable As Boolean = True)
    2. If SystemInformation.TerminalServerSession Then Return
    3. Dim aProp As Reflection.PropertyInfo = GetType(Control).GetProperty("DoubleBuffered", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance)
    4. aProp.SetValue(c, enable, Nothing)
    5. End Sub


    Oder meinst Du das das Füllen von Datagridviews etc. im Hintergrund passieren soll?
    Ich habe mich da wohl unklar ausgedrückt. Mit flimmern meinte ich nicht Bildschirmflimmern sondern eine sehr schnelle Abfolge verschiedener Aktionen auf der Form, unter andrem kurzes Aufrufen einer 2. Form u.s.w. Dauer nur ne Sekunde ist aber sehr unschön.
    Es geht mir hier explizit um die Möglichkeit die Ausgabe auf dem Bildschirm für bestimmte Zeit anzuhalten während das Programm aber weiterläuft.
    Man(n) kann auch ohne Hunde leben, aber es lohnt nicht (Heinz Rühmann)
    Ich habe auch keine Lösung für den Ursprungswunsch, kenne dieses gewünschte Verhalten aber auch nicht. Klingt aber so, als ob Du ggf. durch einen Umbau das erreichen kannst. Window-Startgröße auf Minimized z.B.?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @Skino Probier mal einen nicht modalen Dialog (.Show()) im FormClosed-Event mit einem Sleep(1000) auszubremsen.
    Bei modalen Dialogen wird das Programm angehalten.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!