Eigenschaften Definieren wie Location

25/02/2010 - 07:39 von Marcel Garaventa | Report spam
Hallo zusammen

Wenn ich die Eigenschaft Location verwende, steht in den Eigenschaft der
Wert 0, 0 oder ich kann auf das + klicken und dort die beiden Eigenschaften x
und y seperat angeben.

Nun habe ich eine Klasse gemacht, die auch zwei Werte (Lànge, Breite) hat
und weise diese meinem Steuerelement zu. Mit meinem Steietelement
funktioniert dies aber nicht. Ich sehe zwar diese Eigenschaft, aber kein 0, 0
dazu und ich kann es auch nicht so eingeben.

Weiss jemand wie ich meine Klasse erstellen muss, damit dies funktioniert??

Vielen Dank für Eure Hilfe
Gruss Marcel
 

Lesen sie die antworten

#1 Peter Götz
25/02/2010 - 09:55 | Warnen spam
Hallo Marcel,

Wenn ich die Eigenschaft Location verwende, steht in
den Eigenschaft der Wert 0, 0 oder ich kann auf
das + klicken und dort die beiden Eigenschaften x
und y seperat angeben.



Wessen Eigenschaft?


Nun habe ich eine Klasse gemacht, die auch zwei Werte
(Lànge, Breite) hat und weise diese meinem Steuerelement
zu. Mit meinem Steietelement funktioniert dies aber nicht.
Ich sehe zwar diese Eigenschaft, aber kein 0, 0
dazu und ich kann es auch nicht so eingeben.

Weiss jemand wie ich meine Klasse erstellen muss,
damit dies funktioniert??



da Du weder relevanten Code noch entsprechendes
zu Deinem Klassenmodul zeigst, kann man nicht
beurteilen wo Dein Problem zu suchen ist.

Ein Klassenmodul mit den Eigenschaften Lànge
und Breite könnte beispielsweise so aussehen:


' /// Code in Klassenmodul MyObj (MyObj.vb)
Public Class MyObj
Private mName As String
Private mObjSize As Size

Public Sub New(ByVal Name As String)
mName = Name
End Sub

Public Sub New _
(ByVal Name As String, _
ByVal Width As Integer, _
ByVal Length As Integer)

mName = Name
mObjSize.Width = Width
mObjSize.Height = Length
End Sub

Public ReadOnly Property Name() As String
Get
Return mName
End Get
End Property
Public Property ObjSize() As Size
Get
Return mObjSize
End Get
Set(ByVal value As Size)
mObjSize = value
End Set
End Property

Public Property Width() As Integer
Get
Return mObjSize.Width
End Get
Set(ByVal value As Integer)
mObjSize.Width = value
End Set
End Property

Public Property Length() As Integer
Get
Return mObjSize.Height
End Get
Set(ByVal value As Integer)
mObjSize.Height = value
End Set
End Property
End Class
' \\\ E N T E


Testen kannst Du das hiermit:

' /// Code in einem leeren Formmodul (Form1)

Public Class Form1

Private Sub Form1_Click _
(ByVal sender As Object, _
ByVal e As System.EventArgs _
) Handles Me.Click

' Objekterstellung ohne Angabe des Abmessungen
Dim Obj1 As New MyObj("Obj1")
ShowDimensions(Obj1)

Obj1.ObjSize = New Size(100, 33)
ShowDimensions(Obj1)

' Zugriff auf Obj1.Width u. Obj1.Height
Obj1.Width = 70
Obj1.Length = 25
ShowDimensions(Obj1)


' Zugirff auf ObjSize
Dim S As Size = Obj1.ObjSize
MsgBox _
("Obj1: " & ControlChars.CrLf & _
"Lànge: " & S.Width & _
ControlChars.CrLf & _
"Breite: " & S.Height, _
MsgBoxStyle.Information)


' Objetkerstellung mit Angabe der Abmessungen
Dim Obj2 As New MyObj("Obj2", 50, 30)
ShowDimensions(Obj2)
End Sub

Private Sub ShowDimensions(ByVal Obj As MyObj)
MsgBox _
(Obj.Name & ": " & ControlChars.CrLf & _
"Lànge: " & Obj.Length & _
ControlChars.CrLf & _
"Breite: " & Obj.Width, _
MsgBoxStyle.Information)
End Sub
End Class
' \\\ E N T E

Im Code für die Form1 siehst Du die verschiedenen
Erstellungs- und Zugriffsmöglichkeiten.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen