منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف يمكنني أن أعرف هل تم الضغط على زر نجمة *
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سلام  إخواني

كيف يكنني أن أعرف هل تم الضغط على زر نجمة *

جربت هذا الكود و لم ينجح


كود :
   Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
     
 Dim h As Boolean = GetAsyncKeyState(42)

       If h = True Then

 You pressed enter (*)

       End If
شكرا لك أخي أمير
الكود شغال لكن على الفورم فقط
الكود الدي وضعته في التايمر يشتغل في أي لحظة ضغط فيها المستخدم
بخصوص الكود فى موضوعك

ينقصه كود الـ Sub أو Function  الخاص بـ 
PHP كود :
GetAsyncKeyState 

بخصوص التحقق من خلال التايمر فهنا ستواجه مشكلة
لان سيتطلب ان تقوم بتنفيذ التحقق فى التيمة بمعدل 100 وما اقل 
وليس كل 1000 اى ثانية واحدة

لان احتمالية تنفيذ الضغط قد تحديث بين الثانية التى تتم التحقق منها
اى انه ضغط عند 400 مثلاً وتم رفع يده من على الزر فى 900 

فهنا لم تتحقق معك انه تم الضغط على *

ولكن افضل شئ يتم هو انك تضع كود الاخ Amir_alzubidy
فى الاماكن المتطلب عند الضغط على * تتم ظهور رسالة
اى كن عدد ونوع الادوات فيوضع بكل ما تريد التحقق بشئنها

طبعاً يمكنك جعل الكود واحد فقط من خلال عمل الكود على هذا الشكل
كود :
   Private Sub Form1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress, TextBox1.KeyPress, DataGridView1.KeyPress, ListBox1.KeyPress ' ....... الخ
       If e.KeyChar = Convert.ToChar(42) Then
           MsgBox("Star key Pressd ")
       End If
   End Sub

رجز على هذا الجزء فى الكود بالاعلى
كود :
Me.KeyPress, TextBox1.KeyPress, DataGridView1.KeyPress, ListBox1.KeyPress

اتمنى ان تكون الصورة وضحت كاملاً
وبخصوص Form1_KeyPress يمكنك ان تجعلها اى اسم وليكن
Check_Start_Key
ليصبح الشكل كالتالى
كود :
   Private Sub Check_Start_Key(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress, TextBox1.KeyPress, DataGridView1.KeyPress, ListBox1.KeyPress ' ....... الخ
       If e.KeyChar = Convert.ToChar(42) Then
           MsgBox("Star key Pressd ")
       End If
   End Sub

تحياتى لك
وتمنياتى لك التوفيق
أخي [b]elgokr[/b] 

معك حق في مسألة التايمر

بالنسبة لوضع كود الاخ Amir_alzubidy فى الاماكن المتطلب عند الضغط على *

فهذا أمر مستحيل

لأنه متعب للبروسيسور 

كما أنه قد يكون بالمشروع أكثر من ألف أداة و هنا يستحيل ذلك


لقد وجدت الحل سأضعه لإفادة الإخوة

كود :
       If (GetAsyncKeyState(Keys.Oem5) Then
           Label1.Text = "Star key Pressd "
              End If



شكرا لك أخي الكريم كثيرا على الإفادة
صحيح

شكرا لكم