Avatar billede x-periment Nybegynder
03. januar 2006 - 23:45 Der er 4 kommentarer og
1 løsning

textbox itunes

Jeg sidder og bikser itunes com obejct men har nogle problemer med at skrive udtil textboxe når der bliver kaldt en function fra itunes. først lidt kode :
først en evenhandler som bliver trigget hver gang itunes skifter en sang eller starter ....

myiTunes.OnPlayerPlayEvent += new_IiTunesEvents_OnPlayerPlayEventEventHandle(myiTunes_OnPlayerPlayEvent);

Derefter funktione som bliver kaldt når ovenstående event sker...

protected void myiTunes_OnPlayerPlayEvent(object iTrack)
        {
            Console.WriteLine("udskrift");
            textBox30.Text = "test 2";
         
        }

...
Lidt yderlige info
textbox30 findes . men der bliver ikke skrevet noget tekst ud i feltet, har prøevt at tilføje et breakpoint for at tjekke at den pågældende kode bliver udført hvilket den gør.  har også prøvet at tilføje textbox30.refresh(); hvilket gav samme resultat nemlig ingen ting.
Mit spørgmål er hvorfor bliver der ikke skrevet noget ud i tekst feltet fra denne funktion når jeg sagtens kan skrive til det fra andre funktioner..
Bruger forresten Vs2005 pro hvis det er til nogle hjælp .. og mener jeg engang fik det til at virker i vs2003  kan ikke lige huske det
Avatar billede jens_klinting Nybegynder
14. januar 2006 - 16:39 #1
Jeg tror din opdatering af textbox30 kører på en forkert tråd. Opdatering af grænsefladen skal altid køre på main tråden. Prøv at benytte Invoke til opdatering af textbox30, så kaldet foretages på den rigige tråd.
Avatar billede x-periment Nybegynder
15. januar 2006 - 15:35 #2
og hvordan skal det lige ske er helt bleg her ..
Avatar billede jens_klinting Nybegynder
15. januar 2006 - 17:28 #3
Noget i denne stil (kan sikkert gøre pænere).

private delegate void TextBoxUpdater(System.Windows.Forms.TextBox tb, string newText);

protected void myiTunes_OnPlayerPlayEvent(object iTrack)
{
  // Er required hvis der kaldes fra en anden tråd en main formens.
  if (this.InvokeRequired)
  {
    this.Invoke(new TextBoxUpdater(SetText), new object[] {textBox30, "test 2"});
  }
  else
  {
    SetText(textBox30, "test 2");
  }
}

private void SetText(System.Windows.Forms.TextBox tb, string newText)
{
  tb.Text = newText;
}
Avatar billede x-periment Nybegynder
15. januar 2006 - 17:39 #4
super det virker smid et svar og få pointe og ros og klap og osv mega fedt mange tak
Avatar billede jens_klinting Nybegynder
15. januar 2006 - 17:42 #5
: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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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