Avatar billede dranzer Nybegynder
18. maj 2006 - 21:51 Der er 13 kommentarer og
1 løsning

problemer med Combobox

Hej jeg har et programer her

Public Class Form1


    Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) '
        'ToDo: Error processing original source shown below
        'System.Char[]
        '^--- Syntax error: '{' expected
    End Sub 'MainFormLoad



    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim navne As String() = {"Simon", "hans", "kim", "Christian", "kasper", "Søren"}
        Dim rnd As New Random()

        textBox1.Text = navne(rnd.Next(0, 5))
    End Sub 'Button1Click


    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
    End Sub 'button1_Click

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        End
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

    End Sub
End Class

Jeg har lavet sådan en menu i min Combobox hvor man kan rulle ned og vælge drenge navne eller pigen navne.

jeg vil gerne have at den skrive drenge navne når man har valgt drengen navne i Combobox'en  og at den skrive pige navne når man har valgt pige navne i Combobox'en..

Den skal stadig skrive drenge og pige navne i samme tekstbox.

Er der nogen der kan hjælp med det??? ;o)
Avatar billede dranzer Nybegynder
18. maj 2006 - 22:46 #1
Er jeg for svær at forstå eller hva? fordi så sige det lige. ;o)

Så har jeg taget et eksempel billede af mit program:

http://www.online-net.dk/komMedNAvn.JPG
Avatar billede dranzer Nybegynder
19. maj 2006 - 09:14 #2
Er der ikke nogen der kan hjælp??
Jeg kan prøve at forklare det på en ande måde

Hvis man nu væler Drenge Navne i Combobox'en
Så gør den det her

        Dim navne As String() = {"Simon", "hans", "kim", "Christian", "kasper", "Søren"}
        Dim rnd As New Random()

        textBox1.Text = navne(rnd.Next(0, 5))
    End Sub 'Button1Click



Hvis så man vælger Pige Navne i Combobox'en så gør den det her:


        Dim navne As String() = {"Simone", "Julie", "Line", "Signe", "Helena", "Maria"}
        Dim rnd As New Random()

        textBox1.Text = navne(rnd.Next(0, 5))
    End Sub 'Button1Click



Nu har jeg nok ikke sta det rigtig samme men det er et eksempel på hvad jeg mener..

Hvis i ikke forstå mig så sig det lige så jeg ikke bare sedder og venter på svar så er i søde ;o)
Avatar billede dranzer Nybegynder
19. maj 2006 - 20:55 #3
Er der ikke nogen der kan hjælp???
Avatar billede dranzer Nybegynder
19. maj 2006 - 21:33 #4
hve i hvad i får hele programmets kode så er det måske nemmer:

http://www.online-net.dk/vbnetkode.txt
Avatar billede danm Nybegynder
22. maj 2006 - 01:29 #5
Det er lidt forvirrende den måde det beskrives på.. (o=  Skal Tekstboksen vise et tilfældigt pigenavn når du fra comboboksen vælger "Pigenavne"? Og ligeledes når der vælges drengenavne, blot med et drengenavn.
Avatar billede dranzer Nybegynder
22. maj 2006 - 23:04 #6
JA noget i den retning men jeg forklare det lige for dig nedenunder her. Er glad for at der er en der er gider og svar. :o)

Hvis man vælger drenge så  skriver den et tilfældigt drengen navn i textBox1

Så hvis man vælger pige navne så skriver den et tilfældigt pige navne i textBox1

Er du med? :o)

;o)
Avatar billede danm Nybegynder
23. maj 2006 - 00:54 #7
Så skal du lægge din kode inde i combobox selected index changed (den står tom lige nu i din kode) hvis du skal have et navn automatisk når du vælger en af delene. Skal du derimod have værdien når man har trykket på knappen button1 lægges den ind i buton1_click..

Her kan du så bruge en IF THEN sætning og combobox.selectedindex

If combobox1.selectedindex = 0 Then
  Dim navne As String() = {"Simon", "hans", "kim", "Christian", "kasper", "Søren"}
  Dim rnd As New Random()
  textBox1.Text = navne(rnd.Next(0, 5))
Else
  Dim navne As String() = {"Simone", "Julie", "Line", "Signe", "Helena", "Maria"}
  Dim rnd As New Random()
  textBox1.Text = navne(rnd.Next(0, 5))
End if


combobox.selectedindex viser hvilket nummer der er valgt i comboboxen. 0 er den første, 1 den næste osv..
Combobox selected index changed bliver kørt når du ændrer en værdi i comboboxen. Håber det var det du tænkte på.
Avatar billede danm Nybegynder
23. maj 2006 - 02:32 #8
Men hvis det var noget andet du tænkte på må du lige sige til..
Avatar billede dranzer Nybegynder
23. maj 2006 - 09:09 #9
Den er noget af det retning. :o)

Jeg har en knap hvor man kan trykke så kommer den med et tilfædligt navn.

Så det den skal er at når man vælger i comboboxen pigen navne så skal den lave et tilfældigt pige navne ved at man trykker på Button1. Og det samme hvis man vælger et drenge navne så skal den lave et tilfædigt drenge navn når man trykker på Button1... :O)
Avatar billede danm Nybegynder
23. maj 2006 - 13:14 #10
Ok, så skal du bare smide if then sætningen ind i button1_click.. Virker din Random sætning efter hensigten?
Avatar billede dranzer Nybegynder
23. maj 2006 - 13:22 #11
Kan du ikke lige ligge det ind fordi jeg forstå ikke helt hvad du mener. ;O)
Avatar billede dranzer Nybegynder
23. maj 2006 - 16:02 #12
OK nu køre det.

    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If ComboBox1.SelectedIndex = 0 Then
            Dim navne As String() = {"Simon", "hans", "kim", "Christian", "kasper", "Søren"}
            Dim rnd As New Random()
            RichTextBox1.Text = navne(rnd.Next(0, 5))
        Else

            Dim navne As String() = {"Simone", "Julie", "Line", "Signe", "Helena", "Maria"}
            Dim rnd As New Random()
            RichTextBox1.Text = navne(rnd.Next(0, 5))

        End If

Men hvad skal jeg gøre hvis jeg vil have at der skal være mere og vælge i mellem for eksempel Der er i Comboboxen "Drenge navne" "Pige Navne" "katte navne" osv. Hvordan skal jeg lave det??? Det er mit sidste spørgsmål. ;o)

Har selv prøvet men kan ikke finde ud af det. :o)
Avatar billede dranzer Nybegynder
23. maj 2006 - 16:30 #13
Fandt selv ud af det. ser det ikke rigtigt ud?

    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If ComboBox1.SelectedIndex = 0 Then
            Dim navne As String() = {"Simon", "hans", "kim", "Christian", "kasper", "Søren"}
            Dim rnd As New Random()
            RichTextBox1.Text = navne(rnd.Next(0, 5))
        Else

        End If
        If ComboBox1.SelectedIndex = 1 Then
            Dim navne As String() = {"Simone", "Julie", "Line", "Signe", "Helena", "Maria"}
            Dim rnd As New Random()
            RichTextBox1.Text = navne(rnd.Next(0, 5))
        Else

        End If
        If ComboBox1.SelectedIndex = 2 Then
            Dim navne As String() = {"jsdkjs", "asfsaf", "safdsaf", "safsaf", "asfasf", "safsf"}
            Dim rnd As New Random()
            RichTextBox1.Text = navne(rnd.Next(0, 5))
        End If

Tak for hjælp nu får du dit point. ;O)
Avatar billede danm Nybegynder
24. maj 2006 - 23:03 #14
Ok, det ser rigtigt nok ud.. Men når du har mange IF THEN sætninger kan eventuelt bruge Select case.. Så skriver du istedet

Select Case combobox1.selectedindex
  Case 0
    Dim navne As String() = {"Simon", "hans", "kim", "Christian", "kasper", "Søren"}
    Dim rnd As New Random()
    RichTextBox1.Text = navne(rnd.Next(0, 5))
  Case 1
    .... osv ...
  Case 2
    .....
  Case Else
    msgbox("Hvad i alverden har du trykket på")
Ens select

Og du kunne også lægge en messagebox ind hvis der ikke står noget i comboboxen eventuelt. Så har combobox1.selectedindex værdien -1

Held og lykke med det..  (o=
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