السلام عليكم..أريد أن أنقل صورة من مربع صورة PictureBox1 في الForm1 إلى مربع صورة آخر اسمه Pic في
Form2 و لكن لم تنجح معي الطريقة التقليدية في النقل وهي :
Form3.Pic.Image = PictureBox1.Image
ماذا أفعل كيف أنقل صورة من فورم إلى فورم اخرى ..و شكرا
السلام عليكم..أريد أن أنقل صورة من مربع صورة PictureBox1 في الForm1 إلى مربع صورة آخر اسمه Pic في
Form2 و لكن لم تنجح معي الطريقة التقليدية في النقل وهي :
Form3.Pic.Image = PictureBox1.Image
ماذا أفعل كيف أنقل صورة من فورم إلى فورم اخرى ..و شكرا
يمكنك حفظ الصورة في المربع الاول في مكان ما ثم تحميلها الى المربع الثاني
السلام عليكم
أجعل صندوق الصور ذات تعريف عام
Public WithEvents PictureBox2 As System.Windows.Forms.PictureBox
ثم في النموذج الثاني أكتب التالي
Me.pbox2.Image = frm1.PictureBox2.Image
و إذا لم تكن تستخدم Module لتشغيل المشروع فقم بتعريف كائن من النموذج الاول ثم إستدعي الصورة كونها
Dim frm1 As New Form1 Me.pbox2.Image = frm1.PictureBox2.Image
والله أعلم.
في المثال يتضح المقال
أخي الكريم crazy-man شكرا و لكن الطريقة غير عملية مع برنامج ضخم ..كما أنها ستستغرق وقت و كود اكثر من التي أنوي أن أطبقها ..
أخي الكريم الغملاسي جربت كل الطرق السابقة و لكنها لم تنجح و لكن عندما جربت الطريقة الأولى وجعلت تعريف الPictureBox1عام في Form1-Class ظهر لي خطأ هو التالي :
(60): 'PictureBox1' is already declared as 'Public Dim WithEvents PictureBox1 As System.Windows.Forms.PictureBox' in this class.
هل هناك حل يا جماعة ..أرجو لو في مثال أو أي كود ..
السلام عليكم
أخي العزيز أنا لم أقل لك (عرفها) و إنما قلت لك ( إجعلها) وهذا فرق
كونها معرفة من قبل من قِبلِكم فلا تعرفها على اساس dim أو Private و إنما friend أو public أو Protected Friend
الان لحل المشكلة قم بالتالي غير قيمة خاصية الـ modifiers التابعة لصندوق الصور في النموذج
بشكل مرئي , شاهد الصورة التالية
إحدى القيم الثلاث المشار إليهم بالسهم الاحمر تمكنك من التعامل مع عناصر النموذج الاول
مع بعض الفروقات بينهم, من حيث منطقية ( البرمجة كائنية التوجه)
شاهد المثال المرفق.
السلام عليكم
في المثال يتضح المقال
أعتقد ان الكود الاخير الذي قدمه اخي الغملاسي يعمل
فلو كنت مثلا في Form1 و تريد نقل الصورة الى Form2 و على فرض ان كلا من Picturebox اسمهم pic فتضيف الكود التالي في الحدث الذي تريد ان يتم نقل الصورة فيه
form2.PictureBox1.Image = Me.PictureBox1.Image
و قد ارفقت مثالا بسيطا يوضح ذلك
Dim form2 As New Form2
و فوق كل ذي علم عليم
شكرا لكم إخواني الكرام (أخي الكريم الغملاسي لقد أكثرت كودات في برنامج لذلك أكلتها^.^ جهز نفسك قريبا سأسألك عن كيفية التأثر بXp Thems)و لكن الآن عرفت لماذا كل الطرق السابقة لم و لن تنفع ..ببسطة لأني صممت البرنامج في البداية لا تكون هناك أي صورة في PictureBox1 و لكن يتم بالكود فتحها ..و لم تنجح الطرق السابقة مع الصور التي ربما تتغير في كل لحظة ..و قمت هنا بتجربة و قبل أن يتم بناء البرنامج قمت بإضافة صورة للPictureBox1 عن طريقة الخاصية Image نفسها و نفذت البرنامج فانتقلت الصورة ..و عندما غيرت الصورة بالكود لنتقلت الصورة القديمة و ليس المفتوحة جديدا ..هل لهذه المشكلة
حل .شكرا .
السلام عليكم فعلا تبدو المشكلة كبيرة حتى لو جعلت أمر الفتح من الModuleفإنه لا تظهر
الصورة في الفورم ما الحل ..الخطأ واضح أنه لاتم التعرف و لكن كيف نحله هذا مثال موضح
أرجو أن تتطلعوا على المثال بدقة لأنهم سيفهمكم المشكلة ..
السلام عليكم
كيف أخي يحفظك الله تعرف نموذج هو في طور تشغيل فالكائن الذي عرفته في الـ Module ليس له علاقة
بالقالب form1 لانه ذلك كائن وهذا كائن أخر.
الحل أجعل إجراء يقوم بتشغيل القالب form1 من الـ Module ثم بعد ذلك ستشاهد الصورة
الحل للنموذج الثاني عرف متغير عام من نوع صورة image و اجعله يأخذ الصورة في PictureBox1 مثلاً
ثم في بناء النموذج الثاني أجعل ممرر له من نوع صورة و بعد تعريف العناصر بالامر
InitializeComponent()
إجعل عنصر صندوق الصور يساوي ذلك الممرر
والله أعلم.
في المثال يتضح المقال
السلام عليكم
أخي الكريم الغملاسي شكرا لك جدا على الرغم من اني بقيت حوالي ثلث ساعة حتى عرفت ما الذي عدلته بالضبط ..حلت المشكلة الأولى بتحويل الModule إلى الصفحة الرئيسية ..و لكني خجلان منك لأني لم أفهم بالضبط مالذي فعلته في المشكلة الثانية ..حتى أني نسخت نفس الأكواد و لم تنجح معي الطريقة تعريف الimg لامشكلة فيه و لكن الخطوات التي تبعته لم أهضمها كثيرا ..أقصد ربما تكون قد قمت بخطوة لم تقل لي عنها ..ممكن بس توضيح صغير لأني دخل و لم تنجح معي الطريقة و لأني بصراحة لا أحب أن أكتب مواضيع أخرى (كيف أنقل نص من فورم إلى فورم)(كيف أنقل صوت من فورم إلى فورم)..و أرجو أن لا تغضب مني .
السلام عليكم
ههه لالا أنا لا أغضب من أخوتي , فقط أرفق الملف الذي حاولت فيه و أخبرك ما ينقصهُ إن شاء الله.
في المثال يتضح المقال
السلام عليكم
شكرا أخي الكريم الغملاسي تعذبت معي..على كل حال هذه المرة أرفقك كل هيكل مشروعي
يعني ستجد فيه الكثير من الأمور ماعليك إلا بمشكلتنا و شكرا لك ..بس إذا ممكن بعد تعديله أن
تقول لي ماذا كان خطأي ^.^ و شكرا لك
السلام عليكم
المشكلة تكمن في تعريفك للعناصر أولاً
عزيزي أحسن الله إليك لا تعرف نموذج بهذا الشكل إطلاقاً dim form1 as new form1 هذا خطأ
قلي كيف ستقوم بعملية Referencing لهذا العنصر كلما كتبت form1 المترجم يحيلك للمصدر الرئيسي وليس للكائن المستنسخ منه .
قم بمسح ما في حدث التحميل للنموذج الثاني أو قم بتغيير اسم العنصر المستنسخ من النموذج الاول بحيث يصبح مثلاً dim frm1 as new form1
و إن كان هذا اصلاً ليس منطقي frm1 , frm2 أعطيها مسمياتها الاصلية مثلاً dim MainFrm أو infoFrm وهلم جرى
في الحقيقة الشيء الذي منع الصورة من الظهور هو أنك في تحميل النموذج قمت بإستنساخ نفس العنصر ثانيةً كالخطأ السابق الذي نوهتك ونبهتك عليه.
نصيحة سمي الاشياء بالاسماء التي تدل على محتواها أو عملها.
بالتوفيق و السداد.
تم تعديل هذه المشاركة بواسطة الغملاسي في 11 سبتمبر 2005 في 02:13
في المثال يتضح المقال
تسلم أخي الكريم الغملاسي و أخيرا حلت المشكلة..
هو أنا بقيت أتخبط مع البرنامج حوالي ربع ساعة و أنا على أعصابي فكيف سأعود لأسألك بعد كل هذه التوضيحات ... غيرت الأسماء و لم تنجح حتى انتبهت في الآخر على كلماتك الأخيرة (قم بمسح ما في حدث التحميل للنموذج الثاني ) و عندها حلت المشكلة مع أنني لم أتوقع أن يكون البرنامج حساس لهذه الدرجة ...شكرا مرة أخرى
هذا الموضوع مغلق.