بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
كيف الحال أخواني اعضاء و زوار و مرتادي المنتدى
عندي سؤال وهو كالتالي :-
كيف يتم حذف قيمة متغير عند الضغط على زر ESC
ابقيه يكون في اي حذث في الفورم
يعني ما يكون بس في حدث text1.text
او في حدث Load Form
أبقاه يكون في اي حدث
بمجرد الضغط على Esc يحذف قيمة المتغير
ارجو ان تكون الفكرة واضحه
وارجو ان احصل الاجابه هنا
و عليكم السلام و رحمة الله و بركاته،
كود :
Public Class Form1
Dim S As String = "Some string!"
Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
If e.KeyCode = Keys.Escape Then
MsgBox("Before: " & S)
S = Nothing
MsgBox("After: " & S)
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.KeyPreview = True
End Sub
End Class
بو عبدالله كتب :شكراًَ الف شكر عزيزي
الكود تمام التمام
لكن ممكن شرح الكود
لو ما فيه كلافه
على الرحب أخي الكريم،
كود :
Dim S As String = "Some string!"
أعتبرت أن المتغير الذي تريد حذف قيمته أسمه S و نوعه String و قيمته "Some string!"
في الحدث Form_Load و الذي ينطلق قبل ظهور الـForm وضعت الكود Me.KeyPreview = True حيث أن عند تغيير قيمة هذا الخاصية في الـForm إلى True.. تستجيب الأحداث KeyDown و KeyPress و KeyUp للفورم دون أحتياج أستخدامها في الـTextBox
في الحدث KeyUp للفورم و الذي ينطلق عند رفع الأصبع من على الزر
وضعت الكود If e.KeyCode = Keys.Escape Then ... End If و الذي يتأكد من أن الزر الذي تم الضغط عليه هو Escape ثم إظهار رسالة بالمتغير S قبل حذف قيمته ثم حذف قيمته بـS = Nothing ثم إظهار رسالة للتأكد من أن قيمته قد تم حذفها
يعطيك ألف ألف عافيه عزيزي
وصلت الفكرة و تم التطبيق بنجاح
و أستفدت منها في امور ثانيه
شكراًَ مره اخرى
كذا او بلاش الله يحفضك اخي Aly El-Haddad