tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
919
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Meldur Meldur ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    143
    Hallo!

    Ich möchte eine Form durch anklicken einer Control verschieben können - sozusagen eine Art Titelleiste - nur selbst definiert. Habe es schon über das MouseMove-Event versucht, aber dann flackert die Form nur ganz furchtbar. Weiß jemand Rat?

    Danke,
    Peter
     

  2. #2
    Avatar von JJB
    JJB JJB ist offline Cogito ergo brumm
    Registriert seit
    Jan 2004
    Ort
    Stuttgart
    Beiträge
    261
    Tach !
    Damit hatte ich auch schon zu tun.
    Aber das ist, so scheint mir, eine Schwachstelle in der Oberfläche von .Net. Wenn man diese Forms verschiebt flackern sie eben. Selbst wenn man sie Pixelweise schiebt.
    Man kann das mit einem DoubleBuffer verbessern, doch das habe ich nie so richtig hingebracht. Bin dann irgendwann bei OpenGL und DirectX hängen geblieben. Da geht das einfacher.

    Wie wäre es, wenn du die Form einfach lässt wo sie ist und erst wenn die Maus losgelassen wird, dahin schiebst, wo die Maus jetzt ist. Das gab bei Windows damals auch (weiß nicht ob das noch so ist). Man kann das Fenster anhand eines Positionsrahmens verschieben und erst wenn man die Maus loslässt findet die Verschiebung statt. Damit sparst du dir einiges Geflacker.
    Is nur so ein Ansatz.

    MFG JJB
     
    PS: Ja, ich habe gegoogelt und nein, ich will kein Viagra kaufen
    PPS: Tod allen verketteten Suchmaschinen

  3. #3
    Maxsoft Maxsoft ist offline Mitglied Bronze
    Registriert seit
    Jun 2007
    Ort
    Irgendwo in der Milchstraße
    Beiträge
    38
    Hallo!
    Wenn du die Form in vb.net programmierst, hilft dir vielleicht dieser Link weiter:
    Fensterform ändern
    Form ohne Titelleiste verschieben
     

  4. #4
    Meldur Meldur ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    143
    Danke für die Links! Ich werde versuchen dsa VB-Beispiel auf C# zu adaptieren (sollte ja möglich sein). Da bin ich mal gespannt...
     

  5. #5
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    using System.Runtime.InteropServices;
     
    public class Blabla
    {
        public const int WM_NCLBUTTONDOWN = 0xA1;
        public const int HTCAPTION = 0x2;
        [DllImport("User32.dll")]
        public static extern bool ReleaseCapture();
        [DllImport("User32.dll")]
        public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); 
     
     
      private void MoveForm()
      {
        ReleaseCapture();
        SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0); 
      }
    }

    Mit ein wenig Interop geht das auch ganz flink...

    Mit dem Code ists so als würd man auf die Titelleiste klicken.
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  6. #6
    Meldur Meldur ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    143
    Astrein! Funktioniert wie ne 1!
    Danke!
     

Ähnliche Themen

  1. Hilfe Grafik mit der Maus verschieben
    Von mili im Forum .NET Grafik und Sound
    Antworten: 8
    Letzter Beitrag: 17.10.10, 10:27
  2. Hintergrund mit Maus verschieben
    Von mxxxx im Forum Javascript & Ajax
    Antworten: 11
    Letzter Beitrag: 15.04.10, 11:44
  3. Form OnTop? Form Verschieben?
    Von h4xter im Forum Borland CBuilder und VCL
    Antworten: 2
    Letzter Beitrag: 18.06.09, 15:22
  4. Link mit Maus verschieben
    Von hadda im Forum Javascript & Ajax
    Antworten: 15
    Letzter Beitrag: 25.05.08, 19:50
  5. IE7 Streikt: DIV mit Maus verschieben
    Von X-Color im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 10.10.07, 09:34