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

إستفسار بخصوص MDI Form

بدأه masar في 9 مارس 2012 · 4 رد · 1,066 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

أهلاً اخواني

أعمل حالياً على برمجة برنامج للتعديل على الصور مثل الفوتوشوب والفوتفلتر !

ولم يسبق لي التعامل مع Mdi Form من قبل للأسف :(

لكن الحمد لله بحثت في النت ووجدت عدة دروس لإنشاءها ، لكن لم اجد دروس للتعامل معها

المهم قمت بإنشاء فورم يتمثل في Form Parent ، وفورم آخر يتمثل في Form Child

ووضعت كود إنشاء الفورمات ، وكود لتسميتها والتعديل على عنوانها حسب عددها

يعني !

Window 1

Window 2

Window 3

حسب عدد النوافذ المنشأة

المهم هذه النوافذ تحتوي على PictureBox ، عرفت كيفية إيجاد النافذة المفعلة عبر :

Me.ActiveFormChild

المشكل الآن هو أني اريد أن يظهر في الـ PictureBox في الفورم المفعل ، الصورة التي أفتحها عبر OpenFileDialog

هل من مساعد جزاكم الله خيراً ؟

#2
Me.PictureBox1.Image = New System.Drawing.Bitmap(OpenFileDialog.FileName)

و لكن ما علاقة الصورة بالـ MDI؟

هل يتم استدعاء الـ OpenFileDialog من فورم آخر؟

تم تعديل هذه المشاركة بواسطة byte101 في 10 مارس 2012 في 00:33

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#3

الـ OpenFileDialog يتم إستدعائها من الفورم الأب ، ليتم تحديد الصورة المراد فتحها

فتفتح في Mdi Form جديدة

مثل الفوتوفلتر

#4

جزاكم الله خيراً إخواني تم حل المشكل والحمد لله بعد بحث طويل بالأنترنت

OpenFileDialog1.ShowDialog()
        Dim img_path = OpenFileDialog1.FileName

        If Me.ActiveMdiChild Is Nothing Then
            MsgBox("Select a Control Plz")
            Exit Sub
        End If
        Dim a As String = Me.ActiveMdiChild.ActiveControl.GetType().ToString
        If a = "System.Windows.Forms.PictureBox" Then
            CType(Me.ActiveMdiChild.ActiveControl, System.Windows.Forms.PictureBox).Load(img_path)
        End If

وفي الفورم الإبن وضعت الكود التالي :

Me.ActiveControl = PictureBox1

جزاكم الله خيراً

1
#5

اسهل طريقة هي كمايلي :

اذهب الى الفورم ثم الى خصائص الصورة PictureBox1 حيث ستجد خاصية اسمها modifiers اجعلها Public .

لفتح الصورة استخدم

  Me.ActiveFormChild.PictureBox1.Load(OpenFileDialog.FileName)
2

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