Hey,
Ik ben aan het proberen om een programma van vroeger te herschrijven via Visual Basic 2005 (met klassen).
De desbetreffende code van het formulier (form1):
De code van de klasse person:
Als ik het projectje al laat lopen krijg ik de melding dat de code van het formulier
Dim myperson As New person
myperson.p_naam = Me.txtNaam
myperson.p_voornaam = Me.txtVoornaam
myperson.p_geslacht = Me.cmbGeslacht.ValueMember
myperson.p_leeftijd = Me.txtLeeftijd
niet werkt (Conversion from type 'TextBox' to type 'String' is not valid. <-- bij klasse person, property p_naam onder set...).
Iemand enig idee hoe ik in een klasse waarden kan toevoegen die afkomstig zijn uit tekstvelden, ... van een formulier en hoe ik dus dit probleem kan oplossen?
Alvast bedankt...
PS: Heb ook al andere manier geprobeerd, zoals:
dim naam as string
naam = me.txtNaam
Maar krijg elke keer de melding: kan textbox niet converten naar string...
Ik ben aan het proberen om een programma van vroeger te herschrijven via Visual Basic 2005 (met klassen).
De desbetreffende code van het formulier (form1):
Code:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.cmbGeslacht.Items.Add("Mannelijk")
Me.cmbGeslacht.Items.Add("Vrouwelijk")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myperson As New person
myperson.p_naam = Me.txtNaam
myperson.p_voornaam = Me.txtVoornaam
myperson.p_geslacht = Me.cmbGeslacht.ValueMember
myperson.p_leeftijd = Me.txtLeeftijd
End Sub
End Class
De code van de klasse person:
Code:
Public Class person
Private m_naam As String
Private m_voornaam As String
Private m_geslacht As String
Private m_leeftijd As String
Public Property p_naam()
Get
Return m_naam
End Get
Set(ByVal i_naam)
m_naam = i_naam
End Set
End Property
Public Property p_voornaam()
Get
Return m_voornaam
End Get
Set(ByVal i_voornaam)
m_voornaam = i_voornaam
End Set
End Property
Public Property p_geslacht()
Get
Return m_geslacht
End Get
Set(ByVal i_geslacht)
m_geslacht = i_geslacht
End Set
End Property
Public Property p_leeftijd()
Get
Return m_leeftijd
End Get
Set(ByVal i_leeftijd)
m_leeftijd = i_leeftijd
End Set
End Property
Public Sub New()
m_naam = "Janssens"
m_voornaam = "Jan"
m_geslacht = "Mannelijk"
m_leeftijd = "0"
End Sub
Public Sub New(ByVal inNaam As String, ByVal inVoornaam As String, ByVal inGeslacht As String, ByVal inLeeftijd As String)
m_naam = inNaam
m_voornaam = inVoornaam
m_geslacht = inGeslacht
m_leeftijd = inLeeftijd
End Sub
Public Sub drukAf()
Dim strBoodschap As String
strBoodschap = String.Concat(Me.p_voornaam, " ", Me.p_naam, " met het geslacht ", Me.p_geslacht, " is ", Me.p_leeftijd, " oud")
MessageBox.Show(strBoodschap)
End Sub
End Class
Als ik het projectje al laat lopen krijg ik de melding dat de code van het formulier
Dim myperson As New person
myperson.p_naam = Me.txtNaam
myperson.p_voornaam = Me.txtVoornaam
myperson.p_geslacht = Me.cmbGeslacht.ValueMember
myperson.p_leeftijd = Me.txtLeeftijd
niet werkt (Conversion from type 'TextBox' to type 'String' is not valid. <-- bij klasse person, property p_naam onder set...).
Iemand enig idee hoe ik in een klasse waarden kan toevoegen die afkomstig zijn uit tekstvelden, ... van een formulier en hoe ik dus dit probleem kan oplossen?
Alvast bedankt...
PS: Heb ook al andere manier geprobeerd, zoals:
dim naam as string
naam = me.txtNaam
Maar krijg elke keer de melding: kan textbox niet converten naar string...
Laatst bewerkt: