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]

VB.NET Aufbau

Sie verfügen nach der Schulung über fundierte Kenntnisse in der Arbeit mit objektorientierten Modellen in VB.NET und können wiederverwendbare Komponenten eigenständig erzeugen.

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

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!