Hallo,
Hab da Folgende Probleme:
Problem 1:
Kurz und knapp:
Ich hab eine Classlib, die eine Form darstellt(Inherits Windows.Forms.Form)
Nun hab ich dort via dieser Classlib einen Button, der die gezeigte Form wieder schließen soll.
MyBase.Close() wird nicht klappen, da das ButtonClick Event kein Event dieser Form ist.
Me geht auch nicht...
Nu hab ich nicht soviel Erfahrung damit, Form Classes zu machen(ist ein Wunder, dass ich's überhaupt soweit geschafft hab)
Was kann ich da machen?
Problem 2:
Die Position des Buttons lasse ich in der Form gernerieren, zu der die Lib zugewiesen wurde.
Dies hab ich so mit Strings bewerkstelligt:
ClassCode:
FormCode:
Klappt ja alles wie es soll, aber ich möchte den User nicht überfordern und ich würde das gerne so machen, wie das z.B. bei BackColor so ist, dass schon diese AutoBox da erscheint wo dann alle Möglichkeiten an Colors drinne stehen.
Aber wie mache ich das? Ich weiß nicht wonach ich suchen muss...
Hat da jemand einen Rat?
Problem 3:
Ich hab das Problem, dass wenn ich die Variablen der Classe von der Parentform aus verändern will, diese Anweisungen grün unterkringelt werden...
Screenshot:
Und hier nochmal die ganze Class:
Was läuft da schief?
Ich danke schonmal im Voraus für eure Hilfe.
Ps: 1. Ich erwarte nicht unbedingt Komplette Lösungsvorschläge.
2. Ich verbitte mir dämliche Kommentare, weil dieser Post meiner Meinung nach schon dazu anstiftet
(Ich kann schon viel, aber nicht alles... und wer nicht fragt bleibt dumm:D)
3. meine räschtschraipfeler könnt ihr gerne Patentieren.
Hab da Folgende Probleme:
Problem 1:
Kurz und knapp:
Ich hab eine Classlib, die eine Form darstellt(Inherits Windows.Forms.Form)
Nun hab ich dort via dieser Classlib einen Button, der die gezeigte Form wieder schließen soll.
MyBase.Close() wird nicht klappen, da das ButtonClick Event kein Event dieser Form ist.
Me geht auch nicht...
Nu hab ich nicht soviel Erfahrung damit, Form Classes zu machen(ist ein Wunder, dass ich's überhaupt soweit geschafft hab)
Was kann ich da machen?
Problem 2:
Die Position des Buttons lasse ich in der Form gernerieren, zu der die Lib zugewiesen wurde.
Dies hab ich so mit Strings bewerkstelligt:
ClassCode:
VB.NET-Quellcode
- Public Shared PitButtonLocation As String
- Select Case PitButtonLocation
- Case "center"
- PitButton.Location = New Point(CInt(MyBase.ClientRectangle.Width / 2 - (PitButton.Width / 2)), CInt((MyBase.ClientRectangle.Height / 2) - (PitButton.Height / 2)))
- Case "topcenter"
- PitButton.Location = New Point(CInt(MyBase.ClientRectangle.Width / 2 - (PitButton.Width / 2)), 12)
- Case "bottomcenter"
- PitButton.Location = New Point(CInt(MyBase.ClientRectangle.Width / 2 - (PitButton.Width / 2)), (MyBase.ClientRectangle.Height - 35))
- Case "leftcenter"
- PitButton.Location = New Point(12, CInt((MyBase.ClientRectangle.Height / 2) - (PitButton.Height / 2)))
- Case "rightcenter"
- PitButton.Location = New Point(CInt((MyBase.ClientRectangle.Width - 12) - (PitButton.Width)), CInt((MyBase.ClientRectangle.Height / 2) - (PitButton.Height / 2)))
- Case "topleft"
- PitButton.Location = New Point(12, 12)
- Case "topright"
- PitButton.Location = New Point(CInt(MyBase.ClientRectangle.Width - 12) - PitButton.Width, 12)
- Case "bottomleft"
- PitButton.Location = New Point(12, CInt(MyBase.ClientRectangle.Height - 12) - PitButton.Height)
- Case "bottomright"
- PitButton.Location = New Point(CInt(MyBase.ClientRectangle.Width - 12) - PitButton.Width, CInt(MyBase.ClientRectangle.Height - 12) - PitButton.Height)
- Case Else
- End Select
FormCode:
Klappt ja alles wie es soll, aber ich möchte den User nicht überfordern und ich würde das gerne so machen, wie das z.B. bei BackColor so ist, dass schon diese AutoBox da erscheint wo dann alle Möglichkeiten an Colors drinne stehen.
Aber wie mache ich das? Ich weiß nicht wonach ich suchen muss...
Hat da jemand einen Rat?
Problem 3:
Ich hab das Problem, dass wenn ich die Variablen der Classe von der Parentform aus verändern will, diese Anweisungen grün unterkringelt werden...
Screenshot:
VB.NET-Quellcode
- Imports System.Drawing
- Imports System.Drawing.Drawing2D
- Imports System.Windows.Forms
- Public Class mpit
- Inherits Windows.Forms.Form
- Public Shared PitSize As Size
- Public Shared PitBackground As Color
- Private Shared WithEvents PitButton As New Button
- Public Shared PitButtonText As String
- Public Shared PitTitle As String
- Public Shared PitButtonLocation As String
- Private Sub mpit_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown
- MyBase.Text = PitTitle
- MyBase.Size = New Size(PitSize.Width, PitSize.Height)
- MyBase.BackColor = PitBackground
- PitButton.Text = PitButtonText
- PitButton.BackColor = DefaultBackColor
- PitButton.Size = New Size(75, 23)
- Select Case PitButtonLocation
- Case "center"
- PitButton.Location = New Point(CInt(MyBase.ClientRectangle.Width / 2 - (PitButton.Width / 2)), CInt((MyBase.ClientRectangle.Height / 2) - (PitButton.Height / 2)))
- Case "topcenter"
- PitButton.Location = New Point(CInt(MyBase.ClientRectangle.Width / 2 - (PitButton.Width / 2)), 12)
- Case "bottomcenter"
- PitButton.Location = New Point(CInt(MyBase.ClientRectangle.Width / 2 - (PitButton.Width / 2)), (MyBase.ClientRectangle.Height - 35))
- Case "leftcenter"
- PitButton.Location = New Point(12, CInt((MyBase.ClientRectangle.Height / 2) - (PitButton.Height / 2)))
- Case "rightcenter"
- PitButton.Location = New Point(CInt((MyBase.ClientRectangle.Width - 12) - (PitButton.Width)), CInt((MyBase.ClientRectangle.Height / 2) - (PitButton.Height / 2)))
- Case "topleft"
- PitButton.Location = New Point(12, 12)
- Case "topright"
- PitButton.Location = New Point(CInt(MyBase.ClientRectangle.Width - 12) - PitButton.Width, 12)
- Case "bottomleft"
- PitButton.Location = New Point(12, CInt(MyBase.ClientRectangle.Height - 12) - PitButton.Height)
- Case "bottomright"
- PitButton.Location = New Point(CInt(MyBase.ClientRectangle.Width - 12) - PitButton.Width, CInt(MyBase.ClientRectangle.Height - 12) - PitButton.Height)
- Case Else
- End Select
- MyBase.Controls.Add(PitButton)
- End Sub
- Private Shared Sub PitButton_Click(sender As Object, e As System.EventArgs) Handles PitButton.Click
- End Sub
- End Class
Was läuft da schief?
Ich danke schonmal im Voraus für eure Hilfe.
Ps: 1. Ich erwarte nicht unbedingt Komplette Lösungsvorschläge.
2. Ich verbitte mir dämliche Kommentare, weil dieser Post meiner Meinung nach schon dazu anstiftet
(Ich kann schon viel, aber nicht alles... und wer nicht fragt bleibt dumm:D)
3. meine räschtschraipfeler könnt ihr gerne Patentieren.