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

نسخة كاملة : التحكم في البرنامج بالازرار
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم ورحمة الله وبركاتة ,,

اخواني الاعذاء كيفكم ان شاء الله بخييييير ,,

كنت بعمل علي مشروع بدي يكون فية التحكم في البرنامج بالازرار

البرنامج يقوم بتنفيذ طلب من المستخدم عند الضغط علي بدأ

ويقوم البرنامج بتصغير نفسة الي اسفل وهلا بد المستخدم إيقاف عمل البرنامج يقوم بالضغط علي زر مثلا F12

انا قمت بوضع هذا الكود
كود :
If e.KeyValue = 123 Then Call Stopw

ولاكن لا يعمل إلا اذا كانت النافذة نشطة

وقمت بمحاولة آخري بعمل الكود في Timer
سميتة KeyCatch
ووضعت له نفس الكود ولاكن لم يعمل ايضاً

ارجووا مساعدتي ,,شكراً لكم
هل من مساعدة ؟؟؟؟؟؟؟؟؟
KeyDown في حدث النافذة التي تريد التحكم بها عن طريق الأزرار اختر الحدث

True للفورم الى KeyPriview واكتب هذا الكود وقم بتفعيل خاصية ال
Select Case e.KeyCode

Case Keys.F1
F1 قم بكتابة اي شئ تريد عملة عند الضغط على زر
Case Keys.Enter
ستظهر قائمة مليئة بالأزرار اختر الزر الذي تريد Keys. كما يمكنك اختيار اي زر من لوحة المفاتيح بعد كلمة

End Select
السلام عليكم،
ضع
كود :
<DllImport("user32.dll")> _
    Public Shared Function GetAsyncKeyState(ByVal vKey As System.Windows.Forms.Keys) As Short
    End Function
تحت Public Class Form1
و للتحقق من الزر المضغوط:
كود :
If GetAsyncKeyState(Keys.F12) Then MsgBox("F12 Pressed!")
اخي زكريا ,آخي Aly لم يعمل اي كود منهم

سأقوم بالتوضيح اكثر ,,

الان البرنامج يعمل بالاسفل واريد ايقاف عملة عند الضغط علي زر F12 يتوقف البرنامج عن العمل

فالهاذا اريد وضع كود الضغط علي زر F12 في التايمر

مثل هذا الكود الذي يعمل علي vb6
اسم التايمر هنا KeyCatch

كود :
Private Sub KeyCatch_Timer()
    If GetAsyncKeyState(vbKeyF12) < 0 Then
        Prev = "12"
    Else
        If Prev = "12" Then
            Call SStop
            Prev = ""
        End If
    End If
End Sub

وشكراً لكم وجعله الله في ميزان حسناتكم ,,
حسناً، ضع الكود داخل Timer لأن الكود الذي أعطيته يتحقق من حالة الزر في اللحظة التي تم أستدعاء الكود فيها


صورة توضح خطأ الكود ...
الان سأعمل لك مثال مرفق انتظر ....
الان سأعمل لك مثال مرفق انتظر ....

جرب هذا المثال

http://vb4arb.com/vb/uploaded/2699_01371821165.rar
كود :
Imports System.Runtime.InteropServices

Public Class Form1

    <DllImport("user32.dll")> _
    Public Shared Function GetAsyncKeyState(ByVal vKey As System.Windows.Forms.Keys) As Short
    End Function

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Interval = 200
        Timer1.Enabled = True
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If GetAsyncKeyState(Keys.F12) Then MsgBox("F12 Pressed!")
    End Sub
End Class
الصفحات : 1 2