Just nu i M3-nätverket
Gå till innehåll

knapptryck med enter


Vanjis

Rekommendera Poster

Jag håller på med ett formulär där användaren skriver in några värden i textrutor som ska användas i beräkningar som presenteras i en annan textruta genom ett tryck på en knapp.

 

Jag har fått till det så att tabbarna fungerar i rätt ordning mellan textrutorna och knappen men hur gör jag för att ett tryck på enter automatiskt trycker på knappen utan att knappen först markeras?

 

Det bör tilläggas att jag har fler än en knapp så det är viktigt att rätt knapp trycks in vid enter beroende på vilka fält som senast fyllts i.

 

Jag har en main som bara innehåller:

Application.Run(new Form2());

 

en Form2.Designer.cs som bara innehåller kod som genererats automatiskt

samt en Form2.cs där jag har metoder för vilka beräkningar som genomförs vid olika knapptryck.

 

Följdfråga:

Ovannämnda metoder har automatiskt fått formen:

private void button1_Click(object sender, EventArgs e)

 

Ska argumenten "sender" resp "e" någonsin ändras? Jag använder dem aldrig i min kod.

 

Tacksam för hjälp!

 

Länk till kommentar
Dela på andra webbplatser

Ditt formulär har en egenskap som heter AcceptButton. Ändra denna i dina textboxars Leave- eller Change-events för att bestämma vilken knapp som skall användas som acceptknapp (vilket är den knapp som aktiveras vid tryck på Retur)

 

Ska argumenten "sender" resp "e" någonsin ändras? Jag använder dem aldrig i min kod.

Nej. Argumenten för händelser är fixa. sender refererar till objektet som triggade händelsen och e är ett objekt innehållande händelsespecifika detaljer.

 

Länk till kommentar
Dela på andra webbplatser

Tack för svaret!

 

Tyvärr verkar det inte fungera riktigt som jag tänkt mig...

 

Jag har två textrutor vars innehåll ska beräknas vid tryck på button1. Jag ändrade den understa av dessa (eftersom jag behöver båda värdena innan beräkning) till AcceptsReturn=true samt Leave=button1_click.

 

Nu blir det så att jag skriver in båda värdena och inget händer vid return, däremot skrivs svaret ut vid tab-tryck (utan return).

Någon ide?

 

Är meningen att jag ska ändra på både leave och change? Jag hittar nämligen ingen change...

 

 

Länk till kommentar
Dela på andra webbplatser

  • 2 veckor senare...

Prova med det här:

txtBox.Attributes.Add("onkeypress", "javascript:if (event.keyCode == 13) __doPostBack('" + btnLinkButton.UniqueID + "','')");

 

där

txtBox

är en

asp:TextBox

och

btnLinkButton

är en

asp:LinkButton

keyCode == 13

är koden till Enter händelsen

 

Länk till kommentar
Dela på andra webbplatser

Jag har inte en asp.net sida, bara en c#.net med ett formulär.

Jag kan inte asp men jag antar att jag inte ska använda det här.

 

Tack ändå!

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...