![]() |
|
ال User Control - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : ال User Control (/showthread.php?tid=29977) |
ال User Control - معاذ ابراهيم - 22-06-19 السلام عليكم لدي مشكلة في ادوات الUser Control بعد ان قمت بتجهيز الاداة وإدراجها إلى الفورم اُريد عند النقر عليها يتم تنفيذ الامر المكتوب حتى وإن كان النقر تم على احد الادوات الاخرى الموجوده في اداه اليوزر كونترول لاحظت انه لا يتم تنفيذ الاحداث على كل الاداة مثلاً حدث النقر لا يتم إلى إذا تم النقر على سطح الفورمة او الشكل ذاته اما إذا تم النقر على اداة اخرى موجوده في نفس الاداة (User Control) فإنة لا يتم تنفيذ الحدث المكتوب. سؤالي هو كيف يمكن تنفيذ الاحداث في اداة اليوزر كونترول حتى وإن كانت تنفذ في اداة اخرى موجودة في اداة اليوزر كوتنرول ؟ RE: ال User Control - wared - 22-06-19 (22-06-19, 03:13 PM)معاذ ابراهيم كتب : السلام عليكم (لست مبرمج VB.NET) أداة UserControl مثلها مثل الفورم. أنقر على الأدوات التي عليها مرتين ليفتح نافذة الكود الخاصة بالUserControl وليس الفورم. RE: ال User Control - elgokr - 22-06-19 وعليكم السلام ورحمة الله وبركاته
شوف ساقوم بشرح شئ بسيط
اتمنى انك تستوعبه وتعرف كيف التعامل معه
الان كود لحد الكلك لزر كود : Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Clickالان الكود عادي كما يتم استخدامه بدون مشكلة
طيب انا محتاج اطبق الكود فى الحدث ده نفسه على اشياء اخري
مثل مثلاً لو ضغط على صورة او نص او اى شئ داخل الفورم يقوم بتنفيذ الامر
اكيد مش عمل لكل اداء حدث واقوم بلصق الكود به
او اعمل Sub ليقوم باختصار الكود ووضع الـ Sub داخل كل حدث
فى البداية لاحظ هنا هذا الجزء من الكود كود : Handles Button1.Clickكل الامر سيتم التعاديل على هذا الجزء ليصبح بهذا الشكل كود : Handles Button1.Click, Button2.Click, TextBox1.Click, TextBox2.Click, Label1.Clickلاحظ هنا كده اسماء الاضافات مع نوع الحدث اللى تم اضافتها
فهنا بهذا الوضع طلبت اذا كان تم الضغط على Button1 أو Button2 وكذلك من حيث TextBox و Label
انه يقوم بتنفيذ نفس الامر فهنا انا لم اقوم بعمل حدث مستقل لكل اداء وكذلك لم اختصر الكود فى sub
اتمنى ان تكون الصورة وضحت معك
تحياتى لك
وتمنياتى لك التوفيق
RE: ال User Control - معاذ ابراهيم - 22-06-19 (22-06-19, 03:33 PM)wared كتب :هي هنا المشكلة عند النقر مرتين على الاداه يكون الحدث الافتراضي هو UserControl1_Load وعند قيامي بتغييرة الى حدث Click لا يتم تنفيذه الى على سطح الفورم نفسه اما اذا قمت بالنقر على اداه اخرى غير الفورمة موجوده في نفس الاداه فانه لا يتم تنفيذ الامر.(22-06-19, 03:13 PM)معاذ ابراهيم كتب : السلام عليكم RE: ال User Control - سعود - 22-06-19 هل يمكن ان تذكر الفكرة ماهي فربما يتضح المطلوب اسرع. ماالهدف من الـ UserControl هل هو حاضن لادوات اخرى؟ ام هو مجرد عنصر واحد وما هو هذا العنصر. RE: ال User Control - wared - 22-06-19 (22-06-19, 09:15 PM)معاذ ابراهيم كتب :(22-06-19, 03:33 PM)wared كتب :هي هنا المشكلة عند النقر مرتين على الاداه يكون الحدث الافتراضي هو UserControl1_Load وعند قيامي بتغييرة الى حدث Click لا يتم تنفيذه الى على سطح الفورم نفسه اما اذا قمت بالنقر على اداه اخرى غير الفورمة موجوده في نفس الاداه فانه لا يتم تنفيذ الامر.(22-06-19, 03:13 PM)معاذ ابراهيم كتب : السلام عليكم (لست مبرمج VB.NET) أنقر مرتين على أدوات الUserControl الأساسية التي تصممها وليست التي أسقطتها على الفورم. RE: ال User Control - سعود - 22-06-19 لا ادري هل انا بعيد عن المطلوب
الجانب الايسر ازرار ضمن يوزر كونترول
والجانب الايمن ازرار ضمن الفورم الحالي
ويمكن الوصول لكل احداث الازرار مع اليوزر كونترول سحبتها وقت التصميم الى الفورم
RE: ال User Control - asemshahen5 - 22-06-19 لتستطيع اضافة الكود للاداة مثالا لزر اغلاق على الاداة بعد اضافتها للفورم اولا - عليك عمل Event في قسم التصاريخ في الاداة : PHP كود : Event ClickXT(sender As Object, e As EventArgs) و تقوم بالضغط على الزر في الاداة اثناء تصميم الاداة و تكتب : PHP كود : RaiseEvent ClickXT(Nothing, e) وبعد وضع الاداة على الفورم اذهب الى الافنت الخاص بالاداة و ابحث عن ClickXT الخاص بها و انقر عليه نقرتين و اكتب الكود الذي تريده . RE: ال User Control - معاذ ابراهيم - 23-06-19 شكرا لكم شكرا لكل ما تقدموه لنا من دعم شكرا لمشاعركم الصادقه |