Gå til innhold

Avslutte form med Esc


Anbefalte innlegg

Skrevet

For eksempel i System Properties i windows kan du bare trykke på Esc på tastaturet så forsvinner "formen". Hvordan gjør jeg dette i VB .Net. Tror jeg har fått det til en gang, men husker ikke hvordan... Noen som kan hjelpe?

Videoannonse
Annonse
Skrevet

Det er vel standard for Ok/cancel-dialoger å forsvinne på Esc. En windows form er noe helt annet. Det du kan gjøre er å lage deg en eventhandler som snapper opp tastetrykket, og kjører system.exit på esc

Skrevet (endret)

Jaha... Så da dreit jeg i det.. Det er ikke så farlig.... ;)

 

 

Edit:

 

Kan jeg ikke få sånn Ok/cancel-dialoger i VB?

Endret av inherit
  • 5 uker senere...
Skrevet (endret)

this.CancelButton = btnCancel;
btnCancel.DialogResult = DialogResult.Cancel;

 

eller

 

protected override void OnKeyPress(KeyPressEventArgs e)
{
 if(e.KeyChar = (char)24)
   this.Close();
}

Endret av GeirGrusom
  • 1 måned senere...
Skrevet

Hvilket i VB .NET blir:

 

       Me.CancelButton = btnCancel
       btnCancel.DialogResult = Windows.Forms.DialogResult.Cancel

 

og,

 

   Private Sub frmTest_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

       If e.KeyChar = Chr(27) Then
           Me.Close()
       End If

   End Sub

Skrevet
       If e.KeyChar = Chr(27) Then
           Me.Close()
       End If

Fy, fy aadnk ;)

Du må ikke bruke Chr funksjonen. Den finnes i System.VisualBasic namespacet og er kun ment for å lette konvertering av gamle VB prosjekter til vb.net.

 

Bruk System.Convert namespacet istedet.

 

    Private Sub frmTest_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

       If e.KeyChar = Convert.ToChar(27) Then
           Me.Close()
       End If

   End Sub

Skrevet

Oisann, beklager da. Takker for rettelsen. :blush:

 

Jeg har vel egentlig ikke gjennomført konverteringen enda (jobber fremdeles i VB6), slik at svært mye sitter igjen fra det gamle når jeg en gang iblant svarer på .NET-spørsmål. Kanskje burde jeg ha konsultert Google før jeg besvarte denne tråden, men det er ikke alltid en husker på sådant.

 

Nåvel, da lærte jeg noe nytt i dag også. :yes:

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...