vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Mehrere Controls auf Form Markieren und Verschieben 
Autor: TimZwingmann
Datum: 28.11.17 11:53

Danke für die schnelle Antwort!

Ja es soll sozusagen ein Rechteck gezeichnet werden und die darin befindlichen Controls
so verschieben wie man die Maus bewegt.

Public Class Form1
 
    Private firstklick As Boolean = False
    Private verschieben As Boolean = False
    Private strg As Boolean = False
    Private pn As Panel
    Private oldx As Integer
    Private oldy As Integer
    Private xm As Integer
    Private ym As Integer
 
    Private clist As List(Of Control) = New List(Of Control)
 
 
    Private Sub StartToolStripMenuItem1_Click(sender As Object, e As EventArgs) _
      Handles StartToolStripMenuItem1.Click
        strg = True
    End Sub
 
    Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles _
      Me.MouseDown
        If Not strg Then Return
        If clist.Count > 0 Then
            For Each c As Control In clist
                Highlighter1.SetHighlightColor(c, _
                  DevComponents.DotNetBar.Validator.eHighlightColor.None)
            Next
        End If
        clist.Clear()
        xm = e.X
        ym = e.Y
        pn = New Panel
        With pn
            .Location = New Point(xm, ym)
            .BorderStyle = BorderStyle.FixedSingle
        End With
        oldx = xm
        oldy = ym
        firstklick = True
    End Sub
 
    Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) Handles _
      Me.MouseMove
        If firstklick Then
            xm = e.X
            ym = e.Y
            With pn
                .Size = New Size(xm - oldx, ym - oldy)
                .Visible = True
            End With
            Controls.Add(pn)
        End If
    End Sub
 
    Private Sub Form1_MouseUp(sender As Object, e As MouseEventArgs) Handles _
      Me.MouseUp
        If Not strg Then Return
        For Each c As Control In Controls
            If TypeOf c IsNot Panel Then
                If c.Location.X > oldx And c.Location.Y > oldy AndAlso _
                  c.Location.X < xm And c.Location.Y < ym Then
                    clist.Add(c)
                End If
            End If
        Next
 
        For Each c As Control In clist
            Highlighter1.SetHighlightColor(c, _
              DevComponents.DotNetBar.Validator.eHighlightColor.Blue)
        Next
        firstklick = False
        strg = False
        Me.Controls.Remove(pn)
 
    End Sub
 
 
    Private Sub MoseDwonAll(sender As Object, e As MouseEventArgs) Handles _
      TextBox2.MouseDown, TextBox1.MouseDown, Label2.MouseDown, _
      Label1.MouseDown, Button2.MouseDown, Button1.MouseDown
        verschieben = True
    End Sub
 
    Private Sub MouseMoveAll(sender As Object, e As MouseEventArgs) Handles _
      TextBox2.MouseMove, TextBox1.MouseMove, Label2.MouseMove, _
      Label1.MouseMove, Button2.MouseMove, Button1.MouseMove
        If Not verschieben Then Return
 
    End Sub
 
 
    Private Sub MouseUpAll(sender As Object, e As MouseEventArgs) Handles _
      TextBox2.MouseUp, TextBox1.MouseUp, Label2.MouseUp, Label1.MouseUp, _
      Button2.MouseUp, Button1.MouseUp
        verschieben = False
    End Sub
So sieht mein Code derzeit aus, ich zeichne mithilfe meiner Maus ein Panel. Und die Controls die sich eben in diesem Panel Befinden sollen einen Highlighter bekommen damit es erkenntlich wird.

Diese Controls werden in eine Liste gespeichert damit man auf sie zugreifen kann.

Nun ist meine Frage wie ich alle Controls verschieben kann, aber die proportionen also die Abstände zwischen den Controls beibehalten kann
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Mehrere Controls auf Form Markieren und Verschieben1.890TimZwingmann28.11.17 09:32
Re: Mehrere Controls auf Form Markieren und Verschieben861Manfred X28.11.17 11:42
Re: Mehrere Controls auf Form Markieren und Verschieben1.202TimZwingmann28.11.17 11:53
Re: Mehrere Controls auf Form Markieren und Verschieben991Manfred X28.11.17 13:17
Re: Mehrere Controls auf Form Markieren und Verschieben959TimZwingmann28.11.17 13:26

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel