Eigene Form Basteln

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Eigene Form Basteln

      Hallo Liebe Community,

      mir hatte seit Tagen eine Sache bedrückt.
      Wie stellt man eine Form mit Maximieren Button und Wiederherstellen Button in 1 auf.
      Heute im Englisch Unterricht ist mir die Lösung eingefallen. Nun weiß ich alles wie man seine eigene Form macht mit allen drum und dran.

      Fangen wir mal an.
      Stand: 25.03.2011
      Wir erstellen das Projekt:

      Gehen nun zur Form Properties: FormBorderStyle auf None setzen.

      Nun fügen wir 8 PictureBoxen ein.

      PictureBox1-8 Eigenschaften

      Quellcode

      1. PictureBox1 Anchor: Top, Left
      2. PictureBox2 Anchor: Top, Left, Right
      3. PictureBox3 Anchor: Top, Right
      4. PictureBox4 Anchor: Top, Bottom, Left
      5. PictureBox5 Anchor: Top, Bottom, Right
      6. PictureBox6 Anchor: Bottom, Left
      7. PictureBox7 Anchor: Bottom, Left, Right
      8. PictureBox8 Anchor: Bottom, Right
      Nun verbinden wir die PictureBoxen.
      So sieht nun die Form aus.

      Nun zu den Einzelnen Codes^^

      PictureBoxen Code
      "Press me!"

      Mit diesen Code ist es möglich die Form zu verschieben, wenn man auf eine der Acht PictureBoxen Klickt.

      PictureBox1

      PHP-Quellcode

      1. Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
      2. If (e.Button = Windows.Forms.MouseButtons.Left) Then
      3. PictureBox1.Capture = False
      4. Me.WndProc(Message.Create(Me.Handle, &HA1, CType(&H2, IntPtr), IntPtr.Zero))
      5. Else : End If
      6. End Sub
      PictureBox2

      PHP-Quellcode

      1. Private Sub PictureBox2_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox2.MouseDown
      2. If (e.Button = Windows.Forms.MouseButtons.Left) Then
      3. PictureBox2.Capture = False
      4. Me.WndProc(Message.Create(Me.Handle, &HA1, CType(&H2, IntPtr), IntPtr.Zero))
      5. Else : End If
      6. End Sub
      PictureBox3

      PHP-Quellcode

      1. Private Sub PictureBox3_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox3.MouseDown
      2. If (e.Button = Windows.Forms.MouseButtons.Left) Then
      3. PictureBox3.Capture = False
      4. Me.WndProc(Message.Create(Me.Handle, &HA1, CType(&H2, IntPtr), IntPtr.Zero))
      5. Else : End If
      6. End Sub
      PictureBox4

      PHP-Quellcode

      1. Private Sub PictureBox4_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox4.MouseDown
      2. If (e.Button = Windows.Forms.MouseButtons.Left) Then
      3. PictureBox4.Capture = False
      4. Me.WndProc(Message.Create(Me.Handle, &HA1, CType(&H2, IntPtr), IntPtr.Zero))
      5. Else : End If
      6. End Sub
      PictureBox5

      PHP-Quellcode

      1. Private Sub PictureBox5_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox5.MouseDown
      2. If (e.Button = Windows.Forms.MouseButtons.Left) Then
      3. PictureBox5.Capture = False
      4. Me.WndProc(Message.Create(Me.Handle, &HA1, CType(&H2, IntPtr), IntPtr.Zero))
      5. Else : End If
      6. End Sub
      PictureBox6

      PHP-Quellcode

      1. Private Sub PictureBox6_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox6.MouseDown
      2. If (e.Button = Windows.Forms.MouseButtons.Left) Then
      3. PictureBox6.Capture = False
      4. Me.WndProc(Message.Create(Me.Handle, &HA1, CType(&H2, IntPtr), IntPtr.Zero))
      5. Else : End If
      6. End Sub
      PictureBox7

      PHP-Quellcode

      1. Private Sub PictureBox7_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox7.MouseDown
      2. If (e.Button = Windows.Forms.MouseButtons.Left) Then
      3. PictureBox7.Capture = False
      4. Me.WndProc(Message.Create(Me.Handle, &HA1, CType(&H2, IntPtr), IntPtr.Zero))
      5. Else : End If
      6. End Sub
      PictureBox8

      PHP-Quellcode

      1. Private Sub PictureBox8_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox8.MouseDown
      2. If (e.Button = Windows.Forms.MouseButtons.Left) Then
      3. PictureBox8.Capture = False
      4. Me.WndProc(Message.Create(Me.Handle, &HA1, CType(&H2, IntPtr), IntPtr.Zero))
      5. Else : End If
      6. End Sub


      Nun zu dem wirklich Coolem. :D

      Die Control Dinger oben Rechts einer Form.

      Diesmal brauchen wir 4 weitere PictureBoxen. Also 9, 10, 11, 12
      Picturebox10 ist vor der PictureBox11.

      Nun zu den Codes:
      "Press me!"

      PictureBox9 [Minimieren]

      PHP-Quellcode

      1. Me.WindowState = FormWindowState.Minimized
      PictureBox10 [Maximieren]

      PHP-Quellcode

      1. Me.WindowState = FormWindowState.Maximized
      2. PictureBox10.Hide
      3. PictureBox11.Show
      PictureBox11 [Wiederherstellen]

      PHP-Quellcode

      1. Me.WindowState = FormWindowState.Normal
      2. PictureBox11.Hide
      3. PictureBox10.Show
      PictureBox12 [Schließen]

      PHP-Quellcode

      1. Application.Exit


      So das war eigl. alles über die Form, aber morgen oder später gibt es noch mehr, wie z.B. Maximize, Minimize, etc. Animationen, wie es Üblich auch ist.
      Ich werde dann noch schreiben wie man die Formgrafiken aus einem Ressource Ordner lädt etc.
      Freut euch schon mal drauf.

      Stand: 26.03.2011

      Nun zu den Animationen. Da haben wir 2 Möglichkeiten.
      #1 Möglichkeit ist es aus den Ressourcen zu Laden (Im Vb.net Projekt)
      #2 Möglichkeit ist es die Dateien aus einem Pfad zu Laden.
      Ich zeige euch nun beide Möglichkeiten^^.
      Beginnen wir mal mit den Minimize Button(PictureBox9).
      Dazu nehmen wir diese 3 Grafiken

      #1
      "Press me!"

      Grafik anzeigen lassen.

      PHP-Quellcode

      1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      2. PictureBox9.BackgroundImage = My.Resources.minimize_normal
      3. End Sub
      Grafik wenn die Maus drüber fährt.

      PHP-Quellcode

      1. Private Sub PictureBox9_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox9.MouseEnter
      2. PictureBox9.BackgroundImage = My.Resources.minimize_hover
      3. End Sub
      Nun wenn die Maus klickt soll sich auch der Button ändern.

      PHP-Quellcode

      1. Private Sub PictureBox9_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox9.MouseDown
      2. PictureBox9.BackgroundImage = My.Resources.minimize_pressed
      3. End Sub
      Nun zu der Grafik wenn die Maus es verlässt

      PHP-Quellcode

      1. Private Sub PictureBox9_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox9.MouseMove
      2. PictureBox9.BackgroundImage = My.Resources.minimize_normal
      3. End Sub
      #2
      "Press me!"

      Grafik anzeigen lassen.

      PHP-Quellcode

      1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      2. PictureBox9.BackgroundImage = Image.FromFile("minimize normal.png")
      3. End Sub
      Grafik wenn die Maus drüber fährt.

      PHP-Quellcode

      1. Private Sub PictureBox9_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox9.MouseEnter
      2. PictureBox9.BackgroundImage = Image.FromFile("minimize hover.png")
      3. End Sub
      Nun wenn die Maus klickt soll sich auch der Button ändern.

      PHP-Quellcode

      1. Private
      2. Sub PictureBox9_MouseDown(ByVal sender As Object, ByVal e As
      3. System.Windows.Forms.MouseEventArgs) Handles PictureBox9.MouseDown
      4. PictureBox9.BackgroundImage = Image.FromFile("minimize pressed.png")
      5. End Sub
      Nun zu der Grafik wenn die Maus es verlässt

      PHP-Quellcode

      1. Private Sub PictureBox9_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox9.MouseLeave
      2. PictureBox9.BackgroundImage = Image.FromFile("minimize normal.png")
      3. End Sub

      Nun zu den maximize Button(PictureBox10).
      Dazu nehmen wir diese 3 Grafiken.

      #1
      "Press me!"

      Grafik anzeigen lassen.

      PHP-Quellcode

      1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      2. PictureBox10.BackgroundImage = My.Resources.maximize_normal
      3. End Sub
      Grafik wenn die Maus drüber fährt.

      PHP-Quellcode

      1. Private Sub PictureBox10_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox10.MouseEnter
      2. PictureBox10.BackgroundImage = My.Resources.maximize_hover
      3. End Sub
      Nun wenn die Maus klickt soll sich auch der Button ändern.

      PHP-Quellcode

      1. Private Sub PictureBox10_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox10.MouseDown
      2. PictureBox10.BackgroundImage = My.Resources.maximize_pressed
      3. End Sub
      Nun zu der Grafik wenn die Maus es verlässt

      PHP-Quellcode

      1. Private Sub PictureBox10_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox10.MouseMove
      2. PictureBox10.BackgroundImage = My.Resources.maximize_normal
      3. End Sub
      #2
      "Press me!"

      Grafik anzeigen lassen.

      PHP-Quellcode

      1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      2. PictureBox10.BackgroundImage = Image.FromFile("maximize normal.png")
      3. End Sub
      Grafik wenn die Maus drüber fährt.

      PHP-Quellcode

      1. Private Sub PictureBox10_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox10.MouseEnter
      2. PictureBox10.BackgroundImage = Image.FromFile("maximize hover.png")
      3. End Sub
      Nun wenn die Maus klickt soll sich auch der Button ändern.

      PHP-Quellcode

      1. Private
      2. Sub PictureBox10_MouseDown(ByVal sender As Object, ByVal e As
      3. System.Windows.Forms.MouseEventArgs) Handles PictureBox10.MouseDown
      4. PictureBox10.BackgroundImage = Image.FromFile("maximize pressed.png")
      5. End Sub
      Nun zu der Grafik wenn die Maus es verlässt

      PHP-Quellcode

      1. Private Sub PictureBox10_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox10.MouseLeave
      2. PictureBox10.BackgroundImage = Image.FromFile("maximize normal.png")
      3. End Sub

      Nun zu den Restore Button(PictureBox11).
      Dazu nehmen wir diese 3 Grafiken.

      #1
      "Press me!"

      Grafik anzeigen lassen.

      PHP-Quellcode

      1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      2. PictureBox11.BackgroundImage = My.Resources.restore_normal
      3. End Sub
      Grafik wenn die Maus drüber fährt.

      PHP-Quellcode

      1. Private Sub PictureBox11_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox11.MouseEnter
      2. PictureBox11.BackgroundImage = My.Resources.restore_hover
      3. End Sub
      Nun wenn die Maus klickt soll sich auch der Button ändern.

      PHP-Quellcode

      1. Private Sub PictureBox11_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox11.MouseDown
      2. PictureBox11.BackgroundImage = My.Resources.restore_pressed
      3. End Sub
      Nun zu der Grafik wenn die Maus es verlässt

      PHP-Quellcode

      1. Private Sub PictureBox11_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox11.MouseMove
      2. PictureBox11.BackgroundImage = My.Resources.restore_normal
      3. End Sub
      #2
      "Press me!"

      Grafik anzeigen lassen.

      PHP-Quellcode

      1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      2. PictureBox11.BackgroundImage = Image.FromFile("restore normal.png")
      3. End Sub
      Grafik wenn die Maus drüber fährt.

      PHP-Quellcode

      1. Private Sub PictureBox11_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox11.MouseEnter
      2. PictureBox11.BackgroundImage = Image.FromFile("restore hover.png")
      3. End Sub
      Nun wenn die Maus klickt soll sich auch der Button ändern.

      PHP-Quellcode

      1. Private
      2. Sub PictureBox11_MouseDown(ByVal sender As Object, ByVal e As
      3. System.Windows.Forms.MouseEventArgs) Handles PictureBox11.MouseDown
      4. PictureBox11.BackgroundImage = Image.FromFile("restore pressed.png")
      5. End Sub
      Nun zu der Grafik wenn die Maus es verlässt

      PHP-Quellcode

      1. Private Sub PictureBox11_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox11.MouseLeave
      2. PictureBox11.BackgroundImage = Image.FromFile("restore normal.png")
      3. End Sub

      Nun zu den close Button(PictureBox12).
      Dazu nehmen wir diese 3 Grafiken.

      #1
      "Press me!"

      Grafik anzeigen lassen.

      PHP-Quellcode

      1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      2. PictureBox12.BackgroundImage = My.Resources.close_normal
      3. End Sub
      Grafik wenn die Maus drüber fährt.

      PHP-Quellcode

      1. Private Sub PictureBox12_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox12.MouseEnter
      2. PictureBox12.BackgroundImage = My.Resources.close_hover
      3. End Sub
      Nun wenn die Maus klickt soll sich auch der Button ändern.

      PHP-Quellcode

      1. Private Sub PictureBox12_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox12.MouseDown
      2. PictureBox12.BackgroundImage = My.Resources.close_pressed
      3. End Sub
      Nun zu der Grafik wenn die Maus es verlässt

      PHP-Quellcode

      1. Private Sub PictureBox12_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox12.MouseMove
      2. PictureBox12.BackgroundImage = My.Resources.close_normal
      3. End Sub
      #2
      "Press me!"

      Grafik anzeigen lassen.

      PHP-Quellcode

      1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      2. PictureBox12.BackgroundImage = Image.FromFile("close normal.png")
      3. End Sub
      Grafik wenn die Maus drüber fährt.

      PHP-Quellcode

      1. Private Sub PictureBox12_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox12.MouseEnter
      2. PictureBox12.BackgroundImage = Image.FromFile("close hover.png")
      3. End Sub
      Nun wenn die Maus klickt soll sich auch der Button ändern.

      PHP-Quellcode

      1. Private
      2. Sub PictureBox12_MouseDown(ByVal sender As Object, ByVal e As
      3. System.Windows.Forms.MouseEventArgs) Handles PictureBox12.MouseDown
      4. PictureBox12.BackgroundImage = Image.FromFile("close pressed.png")
      5. End Sub
      Nun zu der Grafik wenn die Maus es verlässt

      PHP-Quellcode

      1. Private Sub PictureBox12_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox12.MouseLeave
      2. PictureBox12.BackgroundImage = Image.FromFile("close normal.png")
      3. End Sub

      Das war nun alles zu den Control der Form.


      Das Tutorial ist 100% von mir Geschrieben. Alle Grafiken habe ich selber geschnitten etc.
      Das schreiben hat ca. 3-4 Stunden gedauert.
      Don´t Copy / Paste :D

      Solltet ihr noch Irgendwelche fragen haben, dann stellt diese bitte hier.


      PS: Es kommt bald ein Update wenn ich wieder @ Home bin^^
      mfg
      Nintendo94
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )