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

أريد نقل صورة من Form1إلى Form2

مغلق
بدأه eias في 7 سبتمبر 2005 · 14 رد · 1,128 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم..أريد أن أنقل صورة من مربع صورة PictureBox1 في الForm1 إلى مربع صورة آخر اسمه Pic في

Form2 و لكن لم تنجح معي الطريقة التقليدية في النقل وهي :

Form3.Pic.Image = PictureBox1.Image

ماذا أفعل كيف أنقل صورة من فورم إلى فورم اخرى ..و شكرا

#3

السلام عليكم

أجعل صندوق الصور ذات تعريف عام

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

والله أعلم.

في المثال يتضح المقال

#4

أخي الكريم crazy-man شكرا و لكن الطريقة غير عملية مع برنامج ضخم ..كما أنها ستستغرق وقت و كود اكثر من التي أنوي أن أطبقها ..

أخي الكريم الغملاسي جربت كل الطرق السابقة و لكنها لم تنجح و لكن عندما جربت الطريقة الأولى وجعلت تعريف الPictureBox1عام في Form1-Class ظهر لي خطأ هو التالي :

(60): 'PictureBox1' is already declared as 'Public Dim WithEvents PictureBox1 As System.Windows.Forms.PictureBox' in this class.

هل هناك حل يا جماعة ..أرجو لو في مثال أو أي كود ..

#5

السلام عليكم

أخي العزيز أنا لم أقل لك (عرفها) و إنما قلت لك ( إجعلها) وهذا فرق

كونها معرفة من قبل من قِبلِكم فلا تعرفها على اساس dim أو Private و إنما friend أو public أو Protected Friend

الان لحل المشكلة قم بالتالي غير قيمة خاصية الـ modifiers التابعة لصندوق الصور في النموذج

بشكل مرئي , شاهد الصورة التالية

08_09_05_04_29_50_1126178990modifiers.gif

إحدى القيم الثلاث المشار إليهم بالسهم الاحمر تمكنك من التعامل مع عناصر النموذج الاول

مع بعض الفروقات بينهم, من حيث منطقية ( البرمجة كائنية التوجه)

شاهد المثال المرفق.

السلام عليكم

frm.zip

في المثال يتضح المقال

#6

أعتقد ان الكود الاخير الذي قدمه اخي الغملاسي يعمل

فلو كنت مثلا في Form1 و تريد نقل الصورة الى Form2 و على فرض ان كلا من Picturebox اسمهم pic فتضيف الكود التالي في الحدث الذي تريد ان يتم نقل الصورة فيه

form2.PictureBox1.Image = Me.PictureBox1.Image

و قد ارفقت مثالا بسيطا يوضح ذلك

Dim form2 As New Form2

و فوق كل ذي علم عليم

#7

اسف نسيت ان ارفق الملف

PictureBox.zip

و فوق كل ذي علم عليم

#8

شكرا لكم إخواني الكرام (أخي الكريم الغملاسي لقد أكثرت كودات في برنامج لذلك أكلتها^.^ جهز نفسك قريبا سأسألك عن كيفية التأثر بXp Thems)و لكن الآن عرفت لماذا كل الطرق السابقة لم و لن تنفع ..ببسطة لأني صممت البرنامج في البداية لا تكون هناك أي صورة في PictureBox1 و لكن يتم بالكود فتحها ..و لم تنجح الطرق السابقة مع الصور التي ربما تتغير في كل لحظة ..و قمت هنا بتجربة و قبل أن يتم بناء البرنامج قمت بإضافة صورة للPictureBox1 عن طريقة الخاصية Image نفسها و نفذت البرنامج فانتقلت الصورة ..و عندما غيرت الصورة بالكود لنتقلت الصورة القديمة و ليس المفتوحة جديدا ..هل لهذه المشكلة

حل .شكرا .

#9

السلام عليكم فعلا تبدو المشكلة كبيرة حتى لو جعلت أمر الفتح من الModuleفإنه لا تظهر

الصورة في الفورم ما الحل ..الخطأ واضح أنه لاتم التعرف و لكن كيف نحله هذا مثال موضح

أرجو أن تتطلعوا على المثال بدقة لأنهم سيفهمكم المشكلة ..

Eias.zip

#10

السلام عليكم

كيف أخي يحفظك الله تعرف نموذج هو في طور تشغيل فالكائن الذي عرفته في الـ Module ليس له علاقة

بالقالب form1 لانه ذلك كائن وهذا كائن أخر.

الحل أجعل إجراء يقوم بتشغيل القالب form1 من الـ Module ثم بعد ذلك ستشاهد الصورة

الحل للنموذج الثاني عرف متغير عام من نوع صورة image و اجعله يأخذ الصورة في PictureBox1 مثلاً

ثم في بناء النموذج الثاني أجعل ممرر له من نوع صورة و بعد تعريف العناصر بالامر

InitializeComponent()

إجعل عنصر صندوق الصور يساوي ذلك الممرر

والله أعلم.

Eias.zip

في المثال يتضح المقال

#11

السلام عليكم

أخي الكريم الغملاسي شكرا لك جدا على الرغم من اني بقيت حوالي ثلث ساعة حتى عرفت ما الذي عدلته بالضبط ..حلت المشكلة الأولى بتحويل الModule إلى الصفحة الرئيسية ..و لكني خجلان منك لأني لم أفهم بالضبط مالذي فعلته في المشكلة الثانية ..حتى أني نسخت نفس الأكواد و لم تنجح معي الطريقة تعريف الimg لامشكلة فيه و لكن الخطوات التي تبعته لم أهضمها كثيرا ..أقصد ربما تكون قد قمت بخطوة لم تقل لي عنها ..ممكن بس توضيح صغير لأني دخل و لم تنجح معي الطريقة و لأني بصراحة لا أحب أن أكتب مواضيع أخرى (كيف أنقل نص من فورم إلى فورم)(كيف أنقل صوت من فورم إلى فورم)..و أرجو أن لا تغضب مني .

#12

السلام عليكم

ههه لالا أنا لا أغضب من أخوتي , فقط أرفق الملف الذي حاولت فيه و أخبرك ما ينقصهُ إن شاء الله.

في المثال يتضح المقال

#13

السلام عليكم

شكرا أخي الكريم الغملاسي تعذبت معي..على كل حال هذه المرة أرفقك كل هيكل مشروعي

يعني ستجد فيه الكثير من الأمور ماعليك إلا بمشكلتنا و شكرا لك ..بس إذا ممكن بعد تعديله أن

تقول لي ماذا كان خطأي ^.^ و شكرا لك

EN Mini Photo Processer v3.0.zip

#14

السلام عليكم

المشكلة تكمن في تعريفك للعناصر أولاً

عزيزي أحسن الله إليك لا تعرف نموذج بهذا الشكل إطلاقاً dim form1 as new form1 هذا خطأ

قلي كيف ستقوم بعملية Referencing لهذا العنصر كلما كتبت form1 المترجم يحيلك للمصدر الرئيسي وليس للكائن المستنسخ منه .

قم بمسح ما في حدث التحميل للنموذج الثاني أو قم بتغيير اسم العنصر المستنسخ من النموذج الاول بحيث يصبح مثلاً dim frm1 as new form1

و إن كان هذا اصلاً ليس منطقي frm1 , frm2 أعطيها مسمياتها الاصلية مثلاً dim MainFrm أو infoFrm وهلم جرى

في الحقيقة الشيء الذي منع الصورة من الظهور هو أنك في تحميل النموذج قمت بإستنساخ نفس العنصر ثانيةً كالخطأ السابق الذي نوهتك ونبهتك عليه.

نصيحة سمي الاشياء بالاسماء التي تدل على محتواها أو عملها.

بالتوفيق و السداد.

تم تعديل هذه المشاركة بواسطة الغملاسي في 11 سبتمبر 2005 في 02:13

في المثال يتضح المقال

#15

تسلم أخي الكريم الغملاسي و أخيرا حلت المشكلة..

هو أنا بقيت أتخبط مع البرنامج حوالي ربع ساعة و أنا على أعصابي فكيف سأعود لأسألك بعد كل هذه التوضيحات ... غيرت الأسماء و لم تنجح حتى انتبهت في الآخر على كلماتك الأخيرة (قم بمسح ما في حدث التحميل للنموذج الثاني ) و عندها حلت المشكلة مع أنني لم أتوقع أن يكون البرنامج حساس لهذه الدرجة ...شكرا مرة أخرى

هذا الموضوع مغلق.

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