Hjælp til programmering!!

Tags:    vb.net windows programmering database listbox

Jeg er igang med at udvikle et program, hvor man kan oprette en person med informationer som navn, fødselsdato, kundenummer, kortnummer etc. og når man gemmer personen skal den opdatere navne og informationer i en listbox. Problemet er, at jeg gerne vil kunne dobbeltklikke på et navn, og derefte kunne ændre informationerne (ps: når man trykker på knappen "Ny person" bliver man henvist til en ny form der har en "gem" knap som opdaterer listbox'en). Men til alle de hardcore programmører derude, i vil sikkert hellere se min kode:

Hoved form:

Private Sub btnNyPerson_Click(sender As Object, e As EventArgs) Handles btnNyPerson.Click
Ny_person.Show()
End Sub

Private Sub txtNavn_TextChanged(sender As Object, e As EventArgs) Handles txtNavn.TextChanged
Dim Navn As String = txtNavn.Text.ToString()
Dim Index As Integer = lboxDatabase.FindString(Navn)
If Index = -1 Then
lboxDatabase.SelectedIndex = lboxDatabase.SelectedIndex
Else
lboxDatabase.SetSelected(Index, True)
End If
End Sub


Private Sub btnSlet_Click(sender As Object, e As EventArgs) Handles btnSlet.Click
If lboxDatabase.SelectedIndex < 0 Then
Else
Dim ask As MsgBoxResult
ask = MsgBox("Er du sikker på at du vil slette " & lboxDatabase.SelectedItem & " ?", MsgBoxStyle.YesNo)
If ask = MsgBoxResult.Yes Then
My.Settings.Names.Remove(lboxDatabase.SelectedItem)
My.Settings.Save()
lboxDatabase.Items.Clear()
For Each Name As String In My.Settings.Names
lboxDatabase.Items.Add(Name)
Next
ElseIf ask = MsgBoxResult.No Then

End If
End If
End Sub

Sekundær form:

Private Sub btnFortryd_Click(sender As Object, e As EventArgs) Handles btnFortryd.Click
Me.Close()
End Sub

Private Sub btnGem_Click(sender As Object, e As EventArgs) Handles btnGem.Click
If My.Settings.Names Is Nothing Then
My.Settings.Names = New System.Collections.Specialized.StringCollection
If txtNavnForm2.Text = "" Or txtDatoForm2.Text = "" Or txtKNummerForm2.Text = "" Or txtGNummerForm2.Text = "" Or txtKort.Text = "" Then
MsgBox("En eller flere felter er ugylige.", MsgBoxStyle.Exclamation, "Forkert Information")
Else
My.Settings.Names.Add(txtNavnForm2.Text + " // " + txtDatoForm2.Text + " // " + txtKNummerForm2.Text + " // " + txtGNummerForm2.Text + " // " + txtKort.Text)
My.Settings.Save()
Me.Close()
End If
Else
If txtNavnForm2.Text = "" Or txtDatoForm2.Text = "" Or txtKNummerForm2.Text = "" Or txtGNummerForm2.Text = "" Or txtKort.Text = "" Then
MsgBox("En eller flere felter er ugylige.", MsgBoxStyle.Exclamation, "Forkert Information")
Else
My.Settings.Names.Add(txtNavnForm2.Text + " // " + txtDatoForm2.Text + " // " + txtKNummerForm2.Text + " // " + txtGNummerForm2.Text + " // " + txtKort.Text)
My.Settings.Save()
Me.Close()
End If
End If
txtNavnForm2.Clear()
txtDatoForm2.Clear()
txtKNummerForm2.Clear()
txtGNummerForm2.Clear()
txtKort.Clear()
HillerødSygehusDatabase.HillerødSygehusForm.lboxDatabase.Items.Clear()
For Each Name As String In My.Settings.Names
HillerødSygehusDatabase.HillerødSygehusForm.lboxDatabase.Items.Add(Name)
Next
End Sub





Hvor og hvordan kan jeg skrive en kode, der tillader, ved dobbeltklik på person i hovedformen, at ændre informationerne?

På forhånd tak, jeg har en deadline så håber på svar hurtigst muligt!

/Sune



10 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 12 karma
Sorter efter stemmer Sorter efter dato
Hej Sune

En listbox har en mousedoubleclick event, den skulle kunne bruges.





Hej Sune

Her er lidt kode du kan kigge på...:)
Fold kodeboks ind/udVBDotNet kode 






Hej Claus,

Den mulighed har jeg kigget på, men kan simpelthen ikke gennemskue koden!
Jeg har prøvet og prøvet, me uden held. Derfor ville jeg sætte pris på hvis der var en der kunne gennemskue koden, og ville dele den med mig.

Men mange tak ellers.

/Sune



Jeg kender desværre ikke vildt meget til VB, men designmæssigt er det noget med at gemme et ID på hvert item i listboxen som henviser til den gældene person.
På den måde kan du når du dobbeltklikker finde personens data frem udfra ID'et på personen i det listitem der bliver klikket på.



Hej Sune!!!!

Var der ild i din maskine da du skrev overskriften? :lol: Eller var nogen ved at dø hvis du ikke fik det fikset, for lyder meget meget ultra-mega-over-vigtigt?



Indlæg senest redigeret d. 18.06.2013 11:16 af Bruger #17215
Rasmus, det har jeg også prøvet, men ved ikke helt hvordan jeg skal bære mig ad. Men tak for hjælpen :)
---------------------------------------------------------------------------
God idé csharper! Det var lige præcis løsningen på mit problem, mange tak! Jeg sætter virkelg pris på din hjælp!
(PS: Det var ironisk :lol:...)


Ej, ja det er vigtigt og jeg ville værdsætte hvis man gad at komme med seriøse henvendelser. Jeg går meget op i programmering, så når jeg ikke kan finde ud af et stykke kode, bliver jeg fyr og flamme for at finde løsningen.



Hej Sune

Kunne du ikke bruge kode jeg skrev i min sidste kommentar?
Hvis du har brug for mere hjælp, så kunne du evt. sende mig din kode.
Så skal jeg nok hjælpe dig.



Sune
Var mere en hentydning til din overskrift!! :)



Claus

Det må du meget undskylde, men jeg har ikke set din kode før nu.

Men hele pointen med mit program er, at man skal kunne trykke på knappen "Tilføj ny person" hvorefter en ny form dukker op - i denne form kan man skrive Navn, Fødsdelsdato, Kundenummer, Garderobenummer og Kortnummer på den person der skal oprettes i registeret. Derefter skal man trykke gem, og personens informationer dukker op i listboxen (eksempel: Sune Jensen // 29-11-1994 // 5678 // 0611 // 457251). Når man så dobbeltklikker (eller interagerer på anden vis) på den valgte person, skulle man gerne kunne redigere informationerne.

Jeg skal sælge dette program til en virksomhed som vil holde styr på deres medarbejdere, derfor er det vigtigt at alt er inkluderet! Claus, Jeg ved ikke om jeg kan bruge din kode, da meget af programmet så skulle laves om osv.

Men hvis det ikke er muligt at gøre som jeg vil, kan blive nødt til at lave det om.

Men mange tak for dit bidrag Claus!

/Sune



Hej...

Det vil være meget nemmer hvis du opretter en Class til person data i stedet for at gemme alt data i en string.
Du kan så oprette en List af "Person data" i din Main form kode.
Denne List kan du så tilgå fra alle dine Forms.



t