Gjest Skrevet 4. desember 2009 Del Skrevet 4. desember 2009 Hei! Har slik popup/toast som msn har når folk logger på eller sender melding. Problemet er at når jeg gjør en handlig 2-3 ganger etterhverandre kommer det slik det etterhverandre oppover skjermen. Koden jeg bruker da: If (Not Label1.Text = "Stopped" And Not spotify.Nowplaying = "" And spotify.ProcessesRunning("spotify") = 1) Then Dim MittArray() As String = Split(spotify.Nowplaying, "–") Dim slice As New ToastForm(2000, MittArray(0) & vbNewLine & MittArray(1)) slice.Show() Else Dim slice As New ToastForm(2000, "Stopped") slice.Show() End If Noen måte jeg kunne hatt slik at det bare er EN slik form i hjørne nederst som bare jeg endre label på? Slik som Toastify har? Toastify: Lenke til kommentar
brgr Skrevet 7. desember 2009 Del Skrevet 7. desember 2009 Hva med å ikke opprette en å enten lukke den gamle toasten før du åpner ny? eller bare bruke den allerede eksisterende toast formen? Lenke til kommentar
Wattengård Skrevet 8. desember 2009 Del Skrevet 8. desember 2009 Det er faktisk vanlig at slike toasts "stacker" seg oppå hverandre når det kommer flere. MSN gjør det på samme måten. Det du evt kan gjøre er å gå via en kø, slik at istedet for at meldingen går direkte til funksjonen som dytter den til skjermen, så går den via køen. Funksjonen som skriver til skjermen sjekker da køen, viser en melding, venter, fjerner meldingen, sjekker køen. Evt kan du istedet for å fjerne og poppe ut på nytt bare fade over i den andre beskjeden... -C- Lenke til kommentar
Gjest Skrevet 8. desember 2009 Del Skrevet 8. desember 2009 (endret) Noen med eksempel til løsning? EDIT: Toastify har lagt ut kildekode! Så de med litt C#/C++ erfaring har kanskje mulighet for å hjelpe meg: Siste versjon per Idag! Endret 8. desember 2009 av Gjest Lenke til kommentar
Degeim Skrevet 8. desember 2009 Del Skrevet 8. desember 2009 Som brgr sier, er vel den mest åpenbare løsningen å bruke en form i stedet for å lage en ny hele tiden. Lag formen et annet sted, og bruk den if-en din til å sette på riktig tekst og vise formen på nytt. Lenke til kommentar
brgr Skrevet 11. desember 2009 Del Skrevet 11. desember 2009 Din kode: If (Not Label1.Text = "Stopped" And Not spotify.Nowplaying = "" And spotify.ProcessesRunning("spotify") = 1) Then Dim MittArray() As String = Split(spotify.Nowplaying, "–") Dim slice As New ToastForm(2000, MittArray(0) & vbNewLine & MittArray(1)) slice.Show() Else Dim slice As New ToastForm(2000, "Stopped") slice.Show() End If En prosedyre som muligens vil virke. Private slice As Toastform Sub ShowToast(ByVal txt As String) If slice IsNot Nothing Then If slice.Visible Then slice.Close() slice = nothing End If slice = New ToastForm(2000, txt) slice.Show() End Sub Når du skal bruke toast vinduet. Caller du bare ShowToast med parameter tekst. Prøv å erstatt din kode med følgende: Dim ToastText As String = _ IIf((Not Label1.Text = "Stopped" And Not spotify.Nowplaying = "" And spotify.ProcessesRunning("spotify") = 1), Split(spotify.Nowplaying, "–")(0) & vbNewLine & Split(spotify.Nowplaying, "–")(1), "Stopped") ShowToast(ToastTxt) Lenke til kommentar
Gjest Skrevet 11. januar 2010 Del Skrevet 11. januar 2010 En stund siden jeg så på denne tråden, men takk Brgr! Det løste problemet Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå