11. september 2003 - 10:41Der 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!
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 ?
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!
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].
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!
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
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))
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.