Avatar billede omen Nybegynder
11. september 2003 - 10:41 Der er 10 kommentarer og
1 løsning

AcceptButton på UserControl

Jeg er ved at lave en UserControl component. Jeg har en knap(eller billede, som fungere som knap), som skal være AcceptButton. Men Windows Control Library undersøtter ikke AcceptButtons, så jeg skal bruge en metode der opdager når jeg trykker ENTER, så den udføre PictureBox1.Click!

På forhånd tak!
Avatar billede burningice Nybegynder
14. september 2003 - 10:10 #1
Det er din Form der har propertien AcceptButton, ikke din knap. Det ville skabe et værre rod, hvis knappen selv kunne bestemme, at nu skulle den være AcceptButton, for hvad nu hvis der var 10 knapper der gjorde det på samme tid ?
Avatar billede burningice Nybegynder
14. september 2003 - 10:14 #2
du burde da kunne udnytte, at du kan få fat i den form knappen er med på ved hjælp af ParentForm:

this.ParentForm.AcceptButton = this;

husk dog, at din knap skal understøtte IButtonControl-interfacet før det virker.
Avatar billede omen Nybegynder
14. september 2003 - 16:01 #3
cyberfessor: Til din første kommentar: Har ikke nævnt en knap har den property, har sagt at Windows Control Library ikke har en, som nok kommer tættere på den form end en knap! Og selv om jeg havde forstod du nok hvad jeg mente med det alligevel.

Og igen, Windows Control Library er ikke nogen form... så jeg ved ikke hvad du mener!
Avatar billede burningice Nybegynder
14. september 2003 - 16:20 #4
Windows Control Library ?! aaaah.. nu tror jeg at jeg er med... du tænker på den projekt-type der findes i VS.Net ?!

Du skal lige huske på, at det ikke er alle herinde der bruger VS.Net, så man kan tit komme til at snakke forbi hinanden.

Nej, du har ret i at UserControl-klassen ikke har nogen AcceptButton-property, og jeg vil stadigvæk holde fast i, at det ikke giver mening at den har. Det er ene og alene den form, som controllen skal bruges på, der skal kunne bestemme hvilken kontrol der skal aktiveres ved at trykke på [Enter].
Avatar billede omen Nybegynder
15. september 2003 - 02:16 #5
Yup, det er nemlig lige det, også derfor jeg har brug for en anden løsning. Jeg har en 'Søger', en component til Dashboard... altså en textbox, combobox, og en knap, hvor knappen starter søgningen... den knap skal så aktiveres når der trykkes Enter! Jeg kan gøre det i VB.NET, men kan ikke finde ud af det i C#... håber du kan hjælpe mig!
Avatar billede burningice Nybegynder
15. september 2003 - 08:11 #6
jamen, lad mig dog se vb-koden... det burde være lige til at oversætte til c# :)
Avatar billede omen Nybegynder
16. september 2003 - 06:15 #7
Private Sub txtSearch_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSearch.KeyPress
            If Convert.ToInt32(e.KeyChar) = Keys.Enter And txtSearch.Text <> "" Then  'If the key that was pressed was enter then
                Dim Search As New Threading.Thread(AddressOf DoSearch) 'Threading
                Search.Start()
            End If
        End Sub
Avatar billede burningice Nybegynder
16. september 2003 - 09:55 #8
private void txtSearch_KeyPress(object sender, EventArgs e) {
  if (int.Parse(e.KeyChar) == Keys.Enter && txtSearch.Length > 0) {
    Thread t = new Tread(new ThreadStart(DoSearch)));
    t.Start();
  }
}
Avatar billede omen Nybegynder
26. september 2003 - 00:00 #9
Well, du har lavet nok... læg et svar :)
Avatar billede omen Nybegynder
26. september 2003 - 00:08 #10
Faktisk, så understreger den 'int.Parse(e.KeyChar)' og giver mig:
Argument '1': cannot convert from 'char' to 'string' (på e.KeyChar)
og
The best overloaded method match for 'int.Parse(string)' has some invalid arguments (på int.Parse(e.KeyChar))
Avatar billede burningice Nybegynder
26. september 2003 - 00:44 #11
e.KeyChar.ToString()
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