Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

vb.net konvertovanje string variable u object variablu

  • 8 odgovora
  • 3.040 pregleda

Najnovija ↓

vb.net konvertovanje string variable u object variablu 17.04.2013. u 09:49 · pre 164 meseca #1
Imam 4 forme. Na privoj imam combo box na kome biram broj forme koju hocu da otvorim.
Values of combo: 2,3,4

Ovo je kod:

Public Class Form1

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim number As Integer = ComboBox1.Text
Dim text As String = "Form"
Dim form As Object = text & number

With form
.Show()
End With


End Sub
End Class

Ali mi javlja gresku: .Show() is not member of string.

Moze pomoc?
Re: vb.net konvertovanje string variable u object variablu 17.04.2013. u 10:34 · pre 164 meseca #3
Da bi prikazao formu, prvo moras da imas njenu instancu. Ova linija kreira string
Code:
Dim form As Object = text & number
bez obzira na to sto si ga deklarisao kao Object i nazvao promenljivu form. Mozes da probas ovako
Code:
Dim form As Form
If number = 2 Then
  form = New Form2
Else If number = 3 Then
  form = New Form3
Else If number = 4 Then
  form = New Form4
End
form.Show
Re: vb.net konvertovanje string variable u object variablu 18.04.2013. u 09:56 · pre 164 meseca
izmenjeno 2 puta, poslednji put Mare_TS 18.04.2013. u 10:13
  1. Mare_TS18.04.2013. u 10:13zapis iz teksta poruke
  2. Mare_TS18.04.2013. u 10:13zapis iz teksta poruke
#6
Citat:
Dim form As Object = text & number
Operator & će promenljivu "number" pretvoriti u string i uraditi konkatenaciju sa promenljivom "text" i to smestiti u promenljivu "form" koja je tipa object. E sad pošto ne možeš smestiti string u object onda će kompajler implicitno konvertovati promenljivu "form" u string koja naravno nema ".Show()" i to je problem.

Ne radim u VBu pa ne mogu da ti otkucam kod, ali u principu .. instanciraj i inicijalizuj sve forme na početku aplikacije, samo sakrij ".Hide()" one koje ti nisu poterbne, a kada odabereš nešto u ComboBoxu možeš da proveravaš "Name" formi i da prikazuješ onu koja ti odgovara. ;)

Evo i specifikacije: MSDN VB Conversions Between Strings and Other Types

edit: dodat link
Re: vb.net konvertovanje string variable u object variablu 18.04.2013. u 21:31 · pre 164 meseca #7
Citat:
ravni:
Da li dobijes neku gresku? Pokazi nam kod od Button1_Click metode.


Izvinite sto ranije nisam odgovorio.
Ovo je ceo kod:

Public Class Form1

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

Dim number As Integer = ComboBox1.Text
Dim form As Form
If number = 2 Then
form = New Form2
ElseIf number = 3 Then
form = New Form3
ElseIf number = 4 Then
form = New Form4
End If
End
form.Show()
End Sub

End Class

Sa ovim kodom ne prikazuje gresku, ali kada kliknem dugme, samo se zatvori.

P.S. Sta u opste znaci da se nesto instancira i inicijalizuje?

Hvala
Re: vb.net konvertovanje string variable u object variablu 19.04.2013. u 09:26 · pre 164 meseca #8
Citat:
Ovo je ceo kod:
Code:
...        ElseIf number = 4 Then
            form = New Form4
        End If <--
        End <--
        form.Show()
    End Sub
Sumnjivo mi je da ti se uopste pokrece program a imas ova dva End-a. Umes li da postavis breakpoint? Stavi jedan na liniju gde pise form.Show() i proveri koje su vrednosti za number i form.
Citat:
Sta u opste znaci da se nesto instancira i inicijalizuje?
Instanciranje je cin kreiranja objekta neke klase. Preporucujem ti da procitas bilo koju knjigu o programiranju za detaljniji opis pojmova.
Re: vb.net konvertovanje string variable u object variablu 19.04.2013. u 22:09 · pre 164 meseca #9
Hvala vam svima puno na trudu.
Mislio sam da bar znam osnove vb.net-a ali sam izgleda pogresio
Resio sam problem. Ovo je kod:

Public Class Form1

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

Dim number As Integer = ComboBox1.Text
Dim form As Form
If number = 2 Then
form = New Form2
ElseIf number = 3 Then
form = New Form3
ElseIf number = 4 Then
form = New Form4
End If
form.Show()
End Sub

End Class

Treba da se umesto end stavi End If. Onda radi.
Jos jednom hvala svima! :)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme