Gå til innhold

[Løst]Vise bilde med IF Then Else


Anbefalte innlegg

Hei!

(MS VB 2008 Express)

Jeg er rett så ny på banen med dette. Har forsøkt i lete i forumet etter løsning, men når man ikke er familiær med termnologien, går det ikke så godt :love:

 

Men jeg er i gang med å lage en database for samleobjekter. Har fått til å lage skjema/form og koble det mot en database (access).

Problem en av mine mange utfordringer er at jeg har en avkrsningsboks i databasetabell hvor man krysser av for anskaffet. Og der ønsker jeg å kunne visualisere med å vise en glad smiley og en sur smiley alt etter som gjenstand er anskaffe eller ikke.

 

har forsøkt med koden under:

Private Sub chboxAnskaffet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chboxAnskaffet.CheckedChanged

Dim chboxAnskaffet As Boolean

If chboxAnskaffet = True Then

imgSmiley.Visible = False

 

Else

imgCry.Visible = True

 

End If

End Sub

Jeg får ingen error, men det skjer ingen endring på skjermen heller, bilde vises hele tiden.

Noen tips!?!

Lenke til kommentar
Videoannonse
Annonse

Du setter ikke sjekkboksobjektet ditt... Du sjekker alltid imot en nyopprettet boolean, om denne har false eller true som standard husker jeg derimot ikke...

 

Nå er ikke min VB.NET helt på G (koder C# til daglig)

Private Sub chboxAnskaffet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chboxAnskaffet.CheckedChanged

 dim sjekkboks as CheckBox
 set sjekkboks = sender as CheckBox

 If sjekkboks.Checked = True Then
imgSmiley.Visible = False
 Else
imgCry.Visible = True
 End If
End Sub

 

Det er noe casting her jeg ikke er helt sikker på hvordan man gjør i VB.. I C# ville jeg skrevet "CheckBox sjekkboks = (CheckBox)sender;"

 

Dette skal funke bedre.

 

-C-

Lenke til kommentar
Du setter ikke sjekkboksobjektet ditt... Du sjekker alltid imot en nyopprettet boolean, om denne har false eller true som standard husker jeg derimot ikke...

 

Nå er ikke min VB.NET helt på G (koder C# til daglig)

Private Sub chboxAnskaffet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chboxAnskaffet.CheckedChanged

 dim sjekkboks as CheckBox
 set sjekkboks = sender as CheckBox

 If sjekkboks.Checked = True Then
imgSmiley.Visible = False
 Else
imgCry.Visible = True
 End If
End Sub

 

Det er noe casting her jeg ikke er helt sikker på hvordan man gjør i VB.. I C# ville jeg skrevet "CheckBox sjekkboks = (CheckBox)sender;"

 

Dette skal funke bedre.

 

-C-

 

Det fungerte ikke! Men takker for svaret, jeg får søke videre :dontgetit:

Lenke til kommentar

Det er ikke noe særlig å bruke .Visible for å skjule ting.

Last inn begge filene som hver sin Resource. De vil da være tilgjengelig i Resources namespacet.

Her kan du da sette en PictureBox sin Picture egenskap lik noe slikt:

imgState.Picture = Iif(chboxAnskaffet.Checked, Resources.SmileImage, Resources.CryImage)

Endret av GeirGrusom
Lenke til kommentar
imgState.Picture = Iif(chboxAnskaffet.Checked, Resources.SmileImage, Resources.CryImage)

 

Takker! Skal forsøke med dette. Men jeg ser jeg har lidt å lære om definering av variabler.

Der knekker filmen for meg :!:

 

imgState' is not declared

'SmileImage' is not a member of 'Resources'

Lenke til kommentar

Jeg tror du må lese koden min litt nøyere ^^

Husk at ALLE kontroller er også valigvis variabler. I dette tilfellet erstattet jeg de to pictureboxene dine med én, og heller endret bildet i den.

Jeg er litt usikker på hvordan Resources er i Visual Basic (jeg bruker C# til daglig fordi Visual Basic er et teit programmeringsspråk) men du finner sikkert ut av det.

Lenke til kommentar

Prøv med:

Private Sub chboxAnskaffet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chboxAnskaffet.CheckedChanged
If (chboxAnskaffet.Checked = True) Then
imgSmiley.Visible = False

Else
imgCry.Visible = True

End If
End Sub

Lenke til kommentar
Hvis du absolutt skal gjøre det på den måten:

Private Sub chboxAnskaffet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chboxAnskaffet.CheckedChanged
 imgSmiley.Visible = chboxAnskaffet.Checked
 imgCry.Visible = Not chboxAnskaffet.Checked
End Sub

 

Mange takk! for begge svar. Begge virket!!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...