18-06-13, 11:23 AM
aftfm كتب :الف شكر اخي العزيز
لكن لو كان لدي عدد من الـ Form
في هذه الحالة End سوف تغلق البرنامج بأكملة وانا اريد اقفال الشاشة الحالية فقط ومن خلال زر Esc
على العموم الف شكر على التوضيح
وإذا كان هناك حل آخر نكون من الشاكرين
السلام عليكم ورحمة الله وبركاته
أخي الكريم
في هذه الحالة ...
فالحل الوحيد هو أن تقوم بإلغاء الضغط على زر Esc ثم الخروج من الفورم بالأمر Me.Close
لاحظ الأسطر الملونة في الكود التالي:
كود :
Public Class Form1
Private Sub btnPlay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlay.Click
AxWindowsMediaPlayer1.URL = "C:\Wrong_Answer.wav"
End Sub
Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
Me.Close()
End Sub
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Escape Then
[COLOR=#ff0000] e.Handled = True
e.SuppressKeyPress = True[/COLOR]
[color=#0000ff] Me.Close()[/color]
End If
End Sub
End Class
في هذه الحالة فإن البرنامج سيلغي أي حدث سيظهر في أداة الميديا بلير بعد الضغط على زر Esc
وبالتالي لن تظهر المشكلة بإذن الله
بالتوفيق