Avatar billede desi-mus Nybegynder
10. august 2007 - 13:18 Der er 7 kommentarer og
1 løsning

Event på label virker ikke på samme måde som på en knap?

Hvorfor virker nedenstående kode ikke når man trykker på en Label, men virker fint når det er en normal knap.?

private void button1_Click(object sender, EventArgs e)
{
  tlftxt.Focus();
  SendKeys.SendWait("%{TAB}");
  SendKeys.Send("" + cpr1.Text);
  SendKeys.SendWait("{ENTER}");
           
  this.Visible = false;
}

Jeg har sat Click event på labelen, til ovenstående. Men det virker ikke, hvorfor?
Avatar billede nielle Nybegynder
10. august 2007 - 13:37 #1
Hvad mener du eksakt med at det ikke virker?

Eventen bliver i hvert fald aktiveret her hos mig.
Avatar billede nielle Nybegynder
10. august 2007 - 13:49 #2
Jeg gætter på at det skyldes at din button og din label sidder på forskellige stedet i formen of at det at afsendet et tab derfor føre fokus forskellige steder hen i de to tilfælde.

Hvis du nu lader være med at gøre formen usynlig, vil jeg gætte på at du i Label-tilfældet vil se at din cpr1.tekst bliver indsat i tlftxt-feltet.
Avatar billede desi-mus Nybegynder
10. august 2007 - 14:22 #3
Det er meningen at den skal Alt+tab, så den skifter vindue (fx wordpad), også skrive cpr1.text og trykke enter.
Nu har jeg ladet formen være synligt, og ser at den ikke Alt+tab, men der bare kommer fokus i tlftxt og så indsætter den cpr1.text..

Hvorfor tager den ikke og udføre SendKeys.SendWait("%{TAB}");?
Avatar billede nielle Nybegynder
10. august 2007 - 15:16 #4
Det er et rent gæt...

Når du klikker på en label, bliver ALT fortolket som om at du ønsker at aktivere menuen på formen. Derfor bliver ALT-TAB ødelagt. Det er om sagt kun et gæt, men det samme sker hvsi du istedet for prøver at sætte din Click-eventhandler på formen.
Avatar billede desi-mus Nybegynder
10. august 2007 - 15:23 #5
Hvordan løser jeg så det? Jeg ville meget nødig have knapper over det hele..
Avatar billede pidgeot Nybegynder
10. august 2007 - 15:54 #6
Har du overvejet at bruge FindWindow (el. lign.) og SetForegroundWindow i stedet for Alt+Tab? På den måde slipper du også for at være afhængig af vinduernes rækkefølge (for det er vel ikke helt ligegyldigt hvor din tekst ryger hen) - men det kræver også du ved noget om modtagervinduet.

Hvis du er på Vista, kræver SendKeys i øvrigt at du benytter .NET 3.0 - det kan også være problemet.
Avatar billede desi-mus Nybegynder
10. august 2007 - 16:20 #7
pidgeot: kender ikke noget til modtagervinduet, udover hvad det hedder i joblisten, og hvad hvis der er to åbne vinduer. Så tror ikke at FindWindow kan bruges.

Det må da kunne lade sig gøre at sende Alt+Tab, så programmet skifter vindue.! ??
Avatar billede desi-mus Nybegynder
14. august 2007 - 10:26 #8
Fandt selv en løsning.
Jeg minimeret vinduet til system tray, og derved skiftede fokus på vinduet, og jeg kunne bruge SendKeys.
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