Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > Visual Basic, Visual Basic.NET

Visual Basic, Visual Basic.NET Alles zum Thema - Visual Basic und Visual Basic.NET
Fragen zu VBA bitte in das Forum Office-Anwendungen posten!

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3338, Antworten: 125
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26943, Antworten: 4219
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50950, Antworten: 1396
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7660, Antworten: 186
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 321, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 26, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 32, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 65, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 152, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 78, Antworten: 4
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11.04.2006, 16:59   #1 (Direktlink)
Jochen-H
Gast
 
Beiträge: n/a
Standard VB.Net Tastatur abfragen

Hallo ,

wie kann man unter VB.Net abfragen, ob eine bestimmte Taste (ESCAPE) in einem Formular gefrückt wurde ?

Code:
' VB 6
If KeyCode = vbKeyEscape then    ' funktioniert
   Form98.Show
End if

' VB.Net
If KeyCode = System.Windows.Forms.Keys.Escape  then    ' ????
   Dim Form98 as Form98 = New Form98
   Form98.Show
End if
Was ist zu tun, damit die VB-eigene Funktion KeyCode unter VB.Net einsetzbar wird, bzw. welchen Ersatz gibt es unter VB.Net für KeyCode

Gruß
Jochen
  Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 12.04.2006, 13:05   #2 (Direktlink)
War schon mal da
 
Registriert seit: 19.03.2006
Beiträge: 42
Standard

Code:
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal Press As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        Dim P = Press.KeyChar
        If P = ""c Then
            MsgBox("Sie haben Escape gedrückt!") ' Hier den befehl reinschreiben!
        End If
End Sub
Hoffe ich konnt dir weiterhelfen!
__________________
Irgendwann raucht der PC immer ab!
TimS. ist offline   Mit Zitat antworten
Alt 12.04.2006, 16:01   #3 (Direktlink)
Jochen-H
Gast
 
Beiträge: n/a
Standard VB.Net Tastatur abfragen

Hallo ,

im Prinzip funktioniert das, aber dabei habe ich noch 2 Probleme :

1. Wie gebe ich die Zeichenfolge ""c in den VB-Editor (Visual Studio
2003) ein ?
Kopieren + Einfügen kommt falsch an
2. Es funktioniert nur auf einem komplett leeren Form. Sobald weitere
Steuerelemente hinzugefügt sind, wird die Procedur Form1_KeyPress
nicht mehr ausgeführt

Gruß
Jochen
  Mit Zitat antworten
Alt 12.04.2006, 16:36   #4 (Direktlink)
War schon mal da
 
Registriert seit: 19.03.2006
Beiträge: 42
Standard

Zum erstem Problem: Was kommt den raus wenn du es kopiers?
Zum zweiten Problem: Wenn er net ausgeführt wird dann müsste er ein fehler haben! aber eigentlich müsst das funktionieren da es bei mir auch klappt!

MFG TImS

P.S.: Hast du ICQ! Wenn ja gib mir mal deine NUmmer! ISt dann einfacher dann fehler zu finden!
__________________
Irgendwann raucht der PC immer ab!
TimS. ist offline   Mit Zitat antworten
Alt 12.04.2006, 17:35   #5 (Direktlink)
Jochen-H
Gast
 
Beiträge: n/a
Standard VB.Net Tastatur abfragen

Hallo TimS ,

zu 1) Wenn ich aus der Zwischenablage einfüge, kommt im Editor nur ein "Qudrat" anstelle von "<-" an.

zu 2) Bei einer Form mit einem oder mehreren Steuerelementen wird die Procedur Form1_KeyPress gar nicht ausgeführt.
(Habe in die Procedur einen Haltepunkt gesetzt)
Es kommt also auch zu keiner Fehlermeldung

ICQ besitze ich leider nicht

Gruß
Jochen
  Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 12.04.2006, 17:43   #6 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 17.08.2005
Beiträge: 104
Standard RE:VB.Net Tastatur abfragen

Hi !!

Ich würde mal sagen das das KeyPress Ereignis des Steuerelements nur ausgeführt wird wenn dieses den Fokus besitzt !!!!

mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung.

Gilbert K. Chesterton
ARCUS_L ist offline   Mit Zitat antworten
Alt 12.04.2006, 19:38   #7 (Direktlink)
Jochen-H
Gast
 
Beiträge: n/a
Standard VB.Net Tastatur abfragen

Hallo ARCUS_L ,

da hast Du wohl recht !!!

Hier nochmal mein Problem:

Ich habe eine Form1 (Startformular) mit mehreren Steuerelementen.

Wenn der Anwender die ESCAPE-Taste drückt, soll ein weiteres Formular angezeigt werden. (Form99 Wollen Sie das Programm wirklich verlassen?)

Die Eigenschaft Form1.CancelButton kann ich hier nicht verwenden, da die Anwendung dann direkt geschlossen wird.

Für weitere Tipps bin ich sehr dankbar

Gruß
Jochen
  Mit Zitat antworten
Alt 12.04.2006, 20:37   #8 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 17.08.2005
Beiträge: 104
Standard RE:VB.Net Tastatur abfragen

Hi !

Du könntest ein gemeinsames KeyPress Ereignis schreiben
in der Art:

private Sub Test(ByVal sender As Object, ByVal e As system.windows.forms.KeyPressEventArgs) _
Handles textBox1.KeyPress, textBox2.KeyPress, button1.KeyPress, button2.KeyPress usw.

und beenden warum nicht mit einer Messagebbox
im closing ereignis

If messagebox.Show("Wirklich beenden?", "ACHTUNG!", MessageBoxButtons.YesNo) = Dialogresult.No Then

e.Cancel = True

End If

End Sub

mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung.

Gilbert K. Chesterton
ARCUS_L ist offline   Mit Zitat antworten
Alt 13.04.2006, 09:11   #9 (Direktlink)
Jochen-H
Gast
 
Beiträge: n/a
Standard VB.Net Tastatur abfragen

Hallo ARCUS_L ,

Ja es klappt,
wenn mann jedes Steuerelement einzeln als Handles aufführt
z.B. Button.Keypress, ....

Klasse , Danke

Und wie gebe ich nun die Zeichenfolge ""c ein?

 für ESCAPE kriege ich nicht in meinen Editor (Visual Studio 2003)

Gruß
Jochen
  Mit Zitat antworten
Alt 13.04.2006, 17:20   #10 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 17.08.2005
Beiträge: 104
Standard RE:VB.Net Tastatur abfragen

Hi !

Über folgenden Code erhältst du den ASCII Code jeder beliebigen Taste,
wenn du ihn ins Keypress Ereignis einfügst !!

MsgBox(Asc(e.KeyChar))

ansonsten

If e.KeyChar = chr(27) then was auch immer

mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung.

Gilbert K. Chesterton
ARCUS_L ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 14.04.2006, 12:06   #11 (Direktlink)
Jochen-H
Gast
 
Beiträge: n/a
Standard VB.Net Tastatur abfragen

Hallo ARCUS_L ,

mit der Abfrage des ASCII-Codes klappt's

Super - Vielen Dank !!!
Code:
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles MyBase.KeyPress, TabControl1.KeyPress, TabPage1.KeyPress, TabPage2.KeyPress, TabPage3.KeyPress, TabPage4.KeyPress

Dim P = e.KeyChar
P = Asc(P)
If P = 27 Then    ' ASCII-Code für ESCAPE-Taste = 27
   Dim Form98 As Form98 = New Form98
   Form98.Show()
End If

End Sub
Gruß
Jochen
  Mit Zitat antworten
Alt 14.04.2006, 19:08   #12 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 17.08.2005
Beiträge: 104
Standard RE:VB.Net Tastatur abfragen

Hi !

Du solltes mal "Option Strict On" einschalten um
Datentypkonvertierungen wie :
Code:
Dim P = e.KeyChar
zu Vermeiden !!!!

Richtig wäre hier

Code:
Dim P As Char = e.KeyChar
mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung.

Gilbert K. Chesterton
ARCUS_L ist offline   Mit Zitat antworten
Alt 07.06.2006, 21:23   #13 (Direktlink)
Tomsky
Gast
 
Beiträge: n/a
Standard

form eigenschaft keypreview auf true gesetzt und dieser code, dan gings:

Private Sub MainForm_KeyDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles MyBase.KeyDown
Select Case e.KeyCode
Case 109,189 '+
zoomOut()
Case 107,187 '-
zoomIn()
End Select
End Sub

Tomsky
  Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > Visual Basic, Visual Basic.NET

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 10:12 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2