Avatar billede shaya Praktikant
07. februar 2009 - 14:42 Der er 7 kommentarer og
1 løsning

Hjælp til Visual Studio i "Listbox"!

Hej

Hvordan kan jeg programmere programmet, sådan så at når man  dobbelt-klikker på en "Item" i en listbox, så der kommer data frem, som man selv har givet "Item"'et?

Jeg programmere med Visual Basic med Visual Studio 2008 Express Edition.

Altså det data jeg giver "Item"'et ville jeg gerne have at jeg skal se i en ny "Form", ved at dobbelt-klikke på "Item"'et?
Avatar billede dennemandergal Nybegynder
13. februar 2009 - 21:40 #1
Private Sub ListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDoubleClick
        MsgBox(ListBox1.SelectedIndex) ' Erstat evt. med din kode m.m.
    End Sub
Avatar billede shaya Praktikant
14. februar 2009 - 19:41 #2
Ok, men så kommer der jo bare en form frem, hvor der står 0 og en "OK" knap? Har prøvet at skrive:
If MsgBox(ListBox1.SelectedIndex) Then
Form2.Show 'Form2 er bare det eks. jeg bruger.
End If

Det virker godt nok, men først efter jeg klikker på den form hvor der står "OK" knap og den tekst hvor der står 0.

Hvad gør jeg, bare for at vise en form, som jeg selv har valgt? Istedet for den form med teksten 0 og knappen OK.
Avatar billede dennemandergal Nybegynder
14. februar 2009 - 20:33 #3
Private Sub ListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDoubleClick
        MessageBox.Show(ListBox1.SelectedItem)
    End Sub

Hvis du skal have den vist i en form kan du lave en property på formen, og ligge informationer i den
Avatar billede shaya Praktikant
15. februar 2009 - 11:53 #4
Jeg tror at du misforstår mig. Jeg ville ikke dobbelt-klikke i hele listboxen, for at få en form frem. Men jeg vil derimod, dobbeltklikke på det f.eks. første Item i listboxen, så der kommer f.eks. Form2 frem. Men når jeg så dobbeltklikker på det ANDET Item, skal Form3 dukke frem?
Avatar billede dennemandergal Nybegynder
15. februar 2009 - 12:02 #5
Netop
Det er også hvad jeg har vist dig.

Hvis du dobbeltkilkker på listbox item 1, så kommer værdien fra listbox 1 frem
Hvis du dobbeltkilkker på listbox item 2, så kommer værdien fra listbox 2 frem osv.

Ellers må jeg give fortabt herfra, det virker hos mig.
Avatar billede shaya Praktikant
15. februar 2009 - 12:30 #6
Hvis jeg skal have en form frem skal jeg i stedet for at skrive:
MessageBox.Show(ListBox1.SelectedItem)

Men skrive:
Form2.Show(ListBox1.SelectedItem(0))

Altså det jeg tror, jeg programmere er at når jeg dobbeltklikker på den Valgte Item -> hvis plads ligger på 0, skal den vise Form2.

Men når jeg gøre det, virker det ikke? Gør jeg noget forkert ?
Avatar billede dennemandergal Nybegynder
15. februar 2009 - 14:56 #7
Eksemple: Form2 med en textbox

Public Class Form2
    Public Str As String = ""
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TextBox1.Text = Str
    End Sub
End Class

From1, med listbox med listboxitems

    Private Sub ListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDoubleClick
        Dim Frm2 As New Form2
        Frm2.Str = ListBox1.SelectedItem
        Frm2.ShowDialog()
        Frm2.Dispose()

    End Sub

Meget simpel løsning, men det virker.
Avatar billede shaya Praktikant
15. februar 2009 - 15:31 #8
Nice tusind tusind tak ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester