الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اريد انادي حدث من قلب زرار عندي

بدأه zintree في 19 أغسطس 2009 · 8 رد · 649 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اريد ان انادي الحدث الموجود في زرار 2 في keydown من قلب زرار 1

#2

السلام عليكــم ورحمـة الله وبركاتــه ،،

أخى الكريم ,, سؤالك مبهم وغير واضح ,, أتمنى أن توضحه قليلا

هل تقصد أنك تريد تنفيذ نفس الكود فى حدث الـKeyDown للزر الأول والثانى؟

وضح قليلا بارك الله فيك حتى تجد إجابة واضحة ,,

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#3

مشكور على الاهتمام

ويتضح ان المنتدى نشيط بوجودك

لا انا عايز لما اضغط على button1 يروح ينادي على الحدث الموجود في button2_keydown

كنا بنتكتبها في vb6

Private Sub Command2_Click()

Command1_Click

End Sub

#4
Private Sub Button1_KeyDown (byval sender as object, byval e as KeyEventArgs)
   Button2_KeyDown(sender, e)
End Sub

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#5
zintree كتب:
مشكور على الاهتمام

ويتضح ان المنتدى نشيط بوجودك

لا انا عايز لما اضغط على button1 يروح ينادي على الحدث الموجود في button2_keydown

كنا بنتكتبها في vb6

Private Sub Command2_Click()

Command1_Click

End Sub

شكرا لك أخى الكريم ,, المنتدى نشيط بوجودكم فيه

كود الفيبى6 الذى وضعته ينادى على الحدث Click وليس KeyDown

إذا كنت تريد مناداة الحدث Click فقم باستدعاء الاجراء Button2.PerformClick

أما إن كنت تريد استدعاء حدث آخر للزر فكل ما عليك فعله هو استدعاء الاجراء المفوض للحدث المطلوب

مثلا ,, الكود التالى يقوم باستدعاء الاجراء المفوض للحدث KeyDown للزر الثانى عند الضغط على الزر الأول

	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
		Button2_KeyDown(Button2, New KeyEventArgs(Keys.None))
	End Sub

	Private Sub Button2_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Button2.KeyDown
		MsgBox("Button2 KeyDown")
	End Sub

إن لم يكن هذا طلبك فأخبرنى ,,

[تحرير]

أخ محمد علاء ,, يبدو أنك كتبت مشاركتك أثناء كتابتى لمشاركتى فلم أر مشاركتك إلا الآن

تم تعديل هذه المشاركة بواسطة GHOST2010 في 19 أغسطس 2009 في 19:16

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#6

اولا مرسي على ردك

ثانيا انا بنده على حاجه محتوى e فيها مش زي محتوى e في الداله اليي بنده منها

#7
اقتباس
اولا مرسي على ردك

ثانيا انا بنده على حاجه محتوى e فيها مش زي محتوى e في الداله اليي بنده منها

بتكلمنى أنا والا محمد علاء؟؟!! :P

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#8

الاخ جوست

دا الكود اليي عايز اناديه

اعمل ايه بقى

	Private Sub wndReportControl_ValueChanged(ByVal sender As Object, ByVal e As AxXtremeReportControl._DReportControlEvents_ValueChangedEvent) Handles wndReportControl.ValueChanged

msgbox "ghost"

end sub
#9

يبدو انى كنت نايم وانا بكتب المشاركه رقم 4 لإن الإجابه مش هى اللى انت عايزها :wacko: ، المهم اجابة سؤالك اللى فى المشاركه رقم 8 الأخ ghost حلها لك بس يبدو انك مأخدتش بالك من الكود كويس

Button2_KeyDown(Button2, New KeyEventArgs(Keys.None))

بشكل عام الـ Handlers بتاعت الأحداث هى برضه دوال لكن ليها شكل معين و علشان تنادى على اى داله ليها معاملات لازم تبعت المعاملات دى، و زى ما انت اخدت بالك الأخ Ghost لما استدعى الداله Button2_KeyDown من داخل الداله Button1_Click ارسل المعامل الأول و هو Button1 اما بالنسبه للمعامل الثانى فهو لم يجد اى كائن متاح من الفئه KeyEventArgs علشان كده هو مرر كائن جديد و علشان الكائن ده بيحتاج معامل اثناء انشائه و ايضا علشان يتم تفادى ارسال بيانات خاطئه لـ Button2_KeyDown فتم انشاء النسخه KeyEventArgs بقيمه Keys.None و حيث انه لا وجود لذلك الزر فلن يحدث مشكله داخل Button2_KeyDown حيث انه من الطبيعى عندما يقوم الحدث KeyDown بتنشيط Button2_KeyDown سيرسل رقم الزر الذى تم ضغطه.

الهدف مما سبق هو انك تريد استدعاء Handler لحدث معين و هو wndReportControl.ValueChanged و حيث ان الـ Handler لهذا الحدث يطلب معاملين (شأنه شأن كل الاحداث فى الدوت نت) اولهما هو الكائن الذى استدعى الـ Handler و ثانيهما هو نسخه من _DReportControlEvents_ValueChangedEvent بالتالى يمكنك استدعاء هذا الـ Handler كالتالى

wndReportControl_ValueChanged(Nothing, Nothing)

و فى هذه الحاله اذا كان داخل هذا الـ Handler كود يستخدم معاملات الداله سيظهر رسالة خطأ لإننا قمنا بتمرير Nothing للمعاملات و لتفادى ذلك يمكنك ارسال الكائن الذى استدعى الـ Handler كمعامل اول اما المعامل الثانى فيمكنك ارسال Nothing او يمكنك ارسال نسخه جديده منه.

التالى هى الصور التى يمكنك استدعاء الداله بها حيث ان _obj_ هو الكائن الذى يستدعى الـ wndReportControl_ValueChanged

wndReportControl_ValueChanged(Nothing, Nothing)
wndReportControl_ValueChanged(Me,Nothing)
wndReportControl_ValueChanged(_obj_,Nothing)
wndReportControl_ValueChanged(_obj_,New AxXtremeReportControl._DReportControlEvents_ValueChangedEvent())
wndReportControl_ValueChanged(Nothing,New AxXtremeReportControl._DReportControlEvents_ValueChangedEvent())

و الله ولى التوفيق

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 19 أغسطس 2009 في 22:53

مدونتي: C++ Tips and Tricks

مواضيع مشابهة