vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: Größe ändern 
Autor: Manfred X
Datum: 25.06.17 21:58

Hallo!

Das Framework stellt für die Organisation eines Formulars bei Größenänderung
zahlreiche Hilfsmittel zur Verfügung.
Du kannst Containersteuerelemente (z.B. diverse Panels) zur Flächenaufteilung
verwenden und die Conrols dort per Dock- oder Anchor-Eigenschaft anpassen und
ausrichten lassen.

Aber man kann auch volle Kontrolle über Location und Size der Controls
per Code ausüben. Dafür gibt es ebenfalls Hilfsmittel, z.B. Control in Listen
aufzubewahren und in Schleifen die Positionierung durchzuführen.

Hier ein kleines Beispiel:
Public Class frmResizeDemo
 
    Dim buttons As New List(Of Button)
    Dim textboxes As New List(Of TextBox)
 
    Dim trv1, trv2 As New TreeView With {.Parent = Me}
 
 
    Private Sub frmResizeDemo_Load(sender As System.Object, _
                       e As System.EventArgs) Handles MyBase.Load
 
        Me.MinimumSize = New Size(300, 350) 'Mindestgröße des Formulars 
 
        'Buttons in Liste erstellen und mit Ereignishandler versehen
        For i As Integer = 1 To 8
            buttons.Add _
                (New Button With {.Text = "but" & i.ToString, .Parent = Me})
            AddHandler buttons(i - 1).Click, AddressOf button_click
            AddHandler buttons(i - 1).KeyDown, AddressOf Key_Down
        Next
 
        'Textboxen in Liste erstellen und mit Ereignishandler versehen 
        For i As Integer = 1 To 4
            textboxes.Add _
                (New TextBox With {.Parent = Me, .Name = "Textbox" & CStr(i)})
            AddHandler textboxes(i - 1).TextChanged, AddressOf text_changed
            AddHandler textboxes(i - 1).KeyDown, AddressOf Key_Down
        Next
 
        'Grundanordnung der Treeviews
        trv1.Location = New Point(10, 10)
        trv2.Top = 10
 
        trv1.BackColor = Color.LightGray
        trv2.BackColor = Color.LightCoral
 
        Form1_ResizeEnd(Me, EventArgs.Empty)
    End Sub
 
 
    Private Sub button_click(ByVal sender As Object, e As EventArgs)
        'Alle Button-Click-Ereignisse kommen hier an
        Dim btn As Button = DirectCast(sender, Button)
        MsgBox("Button " & btn.Text & " ist gedrückt worden")
    End Sub
 
 
    Private Sub text_changed(ByVal sender As Object, e As EventArgs)
        'Alle Textbox-Changed-Ereignisse kommen hier an
        Dim txt As TextBox = DirectCast(sender, TextBox)
        MsgBox("Textbox " & txt.Name & " ist geändert worden")
    End Sub
 
 
    Private Sub Key_Down(sender As Object, _
             e As System.Windows.Forms.KeyEventArgs)
        'Hier kommen alle KeyDowns für Buttons und Textboxen an
        If TypeOf sender Is Button Then
            Dim btn As Button = DirectCast(sender, Button)
            MsgBox("KeyDown auf Button " & btn.Text)
        Else
            Dim txt As TextBox = DirectCast(sender, TextBox)
            MsgBox("Keydown auf Textbox " & txt.Name)
        End If
    End Sub
 
 
    Private Sub frmResizeDemo_ResizeEnd(sender As Object, _
                          e As EventArgs) Handles MyBase.ResizeEnd
 
        Dim ctrl_height As Integer = 30
        Dim left2 As Integer = (Me.Width - 2 * trv1.Left) \ 2
        Dim trv_height As Integer = Me.Height - ctrl_height * 9
 
        trv1.Size = New Size(left2 - 2 * trv1.Left, trv_height)
        trv2.Size = trv1.Size : trv2.Left = left2
 
        'Buttons an Formgröße (2 Spalten)
        For i As Integer = 0 To buttons.Count - 1
            Dim lft As Integer = If(i Mod 2 = 0, trv1.Left, left2)
            buttons(i).Location = New Point _
            (lft, trv1.Top * 2 + trv_height + (i \ 2) * ctrl_height)
            buttons(i).Size = New Size(trv1.Width, ctrl_height)
        Next i
 
        'Textboxen an Formgröße anpassen (2 Spalten)
        For i As Integer = 0 To textboxes.Count - 1
            Dim lft As Integer = If(i Mod 2 = 0, trv1.Left, left2)
            textboxes(i).Location = New Point _
            (lft, trv1.Top * 2 + trv_height + 5 * ctrl_height + (i \ 2) * _
            ctrl_height)
            textboxes(i).Size = New Size(trv1.Width, ctrl_height)
        Next i
 
    End Sub
 
    Private Sub frmResizeDemo_SizeChanged(sender As Object, _
        e As System.EventArgs) Handles Me.SizeChanged
 
        If Not Me.WindowState = FormWindowState.Minimized Then
            Form1_ResizeEnd(Me, EventArgs.Empty)
        End If
    End Sub
End Class
Ich nehme an, Du möchstest alle Knoten innerhalb der Hierarchie, die zu
einem geänderten Knoten führt, farbig markieren. Dann kannst Du in dieser Routine
bei jedem ret-Knotenverweis in der while-Schleife die Farbmarkierung eintragen.

Beitrag wurde zuletzt am 25.06.17 um 22:06:10 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ini in Treeview einlesen3.630schwesig28.03.17 21:03
Re: ini in Treeview einlesen2.485Franki29.03.17 03:49
Re: ini in Treeview einlesen2.581schwesig29.03.17 05:26
Re: ini in Treeview einlesen2.471Manfred X29.03.17 07:38
Beispiel irgendwie ????2.578Manfred X29.03.17 08:09
Re: Beispiel irgendwie ????2.508schwesig29.03.17 20:18
Re: Beispiel irgendwie ????2.537Manfred X29.03.17 21:46
Re: Beispiel irgendwie ????2.333effeff08.04.17 17:26
Re: ini in Treeview einlesen2.375Franki30.03.17 02:32
Re: ini in Treeview einlesen2.396Manfred X30.03.17 11:05
Re: ini in Treeview einlesen2.357schwesig30.03.17 17:10
Treeview editieren2.553Manfred X30.03.17 17:53
Re: Treeview editieren2.505schwesig30.03.17 18:07
Re: Treeview editieren2.418Manfred X30.03.17 18:51
Re: ini in Treeview einlesen2.318Franki31.03.17 03:08
Windows-Ini ?2.436Manfred X31.03.17 08:12
Re: Windows-Ini ?2.497Franki01.04.17 04:31
Re: Windows-Ini ?2.327Manfred X01.04.17 08:48
Re: Windows-Ini ?2.349Franki08.04.17 05:01
Re: Windows-Ini ?2.491Manfred X08.04.17 12:07
Re: Windows-Ini ?2.429Franki10.04.17 04:17
Re: Windows-Ini ?2.288effeff11.04.17 09:00
Re: Windows-Ini ?2.277Franki13.04.17 03:04
Re: ini in Treeview einlesen2.287schwesig13.04.17 06:40
Re: ini in Treeview einlesen2.390Manfred X13.04.17 08:35
Re: ini in Treeview einlesen2.285schwesig13.04.17 09:10
Re: ini in Treeview einlesen2.366Manfred X13.04.17 09:23
Re: ini in Treeview einlesen2.364schwesig13.04.17 09:28
Re: ini in Treeview einlesen2.322Manfred X13.04.17 09:40
Re: ini in Treeview einlesen2.081schwesig21.06.17 20:48
Zwei Treeviews vergleichen2.308Manfred X22.06.17 09:22
Re: ini in Treeview einlesen2.066schwesig22.06.17 19:17
Zwei Treeviews vergleichen2.176Manfred X22.06.17 20:37
Re: ini in Treeview einlesen2.181schwesig22.06.17 22:19
Re: ini in Treeview einlesen2.076Manfred X22.06.17 22:53
Re: ini in Treeview einlesen2.080schwesig23.06.17 19:12
Re: ini in Treeview einlesen2.188Manfred X24.06.17 07:31
Re: ini in Treeview einlesen2.040schwesig24.06.17 09:40
Re: ini in Treeview einlesen2.099Manfred X24.06.17 13:39
Größe ändern2.128schwesig25.06.17 19:56
Re: Größe ändern2.095Manfred X25.06.17 21:58
Re: Größe ändern2.133schwesig26.06.17 18:47
Schlüssel-Auswahl in Knoten eintragen2.216Manfred X26.06.17 20:35
Re: Schlüssel-Auswahl in Knoten eintragen2.094schwesig29.06.17 20:40
Re: Schlüssel-Auswahl in Knoten eintragen2.161Manfred X29.06.17 23:47
Re: Schlüssel-Auswahl in Knoten eintragen2.024schwesig04.08.17 12:25
Re: Schlüssel-Auswahl in Knoten eintragen2.007Manfred X04.08.17 14:10
Re: Größe ändern1.969schwesig04.08.17 15:44
Re: Größe ändern1.840schwesig05.08.17 17:40

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-2024 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