Feedback

C# - Windows-Forms Panel frei positioniereren

Veröffentlicht von am 30.11.2007
(1 Bewertungen)
Mit folgendem Codeschnippsel kann man ein Panel frei auf der Windows Form bewegen. Es wird nicht überprüft ob das Panel über den Rand der Form geht!
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Projektmitglieder - Kompakt

Nach Teilnahme an dieser Schulung sind Ihnen die Grundlagen von ALM geläufig. Sie planen und steuern Projekte effizient mit dem Visual Studio Team Foundation Server.

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

Point position = new Point();
panel.MouseMove += new System.Windows.Forms.MouseEventHandler(this.panel_MouseMove);

private void panel_MouseMove( object sender, MouseEventArgs e )
{
    Panel p = sender as Panel;
    
    if ( e.Button == MouseButtons.Left )
    {
        Point mousePos = this.PointToClient( Control.MousePosition );
        if ( position.IsEmpty )
            position = new Point( mousePos.X - p.Left, mousePos.Y - p.Top );
        
        p.Location = new Point( mousePos.X - position.X, mousePos.Y - position.Y );
    }            
    else if ( !position.IsEmpty )
        position = new Point();
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!