منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] كيفية التعامل مع فورم جديد برمجيا - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] كيفية التعامل مع فورم جديد برمجيا (/showthread.php?tid=19859)



كيفية التعامل مع فورم جديد برمجيا - الماجيك مسعد - 02-04-17

vb.net
كيفية التعامل مع فورم جديد برمجيا
بمعنى
بفتح فورم بالكود دا
Dim frm As New form1
frm.Show()

ومن داخل form1
بفتح form2.show
وform2 فيه زر بيبعت نص لصندوق النص فى form1

بس لما بستخدم Dim frm As New form1
frm.Show()
النص مش بيضاف لصندوق النص فى الفورم الاخر

ولما بستخدم form1.Show()
النص بيتبعت عادى

المطلوب ازاى اقدر احدد الفورم المفتوح عشان اقدر ابعتله نص فى صندوق النص

اتمنى يكون السؤال واضح


RE: كيفية التعامل مع فورم جديد برمجيا - abdualla - 02-04-17

على افتراض ان من داخل Form1 تم استدعاء Form2 ولكن عن طريق Dim frm As New Form2

الخطوة الاولى في الفورم Form1 طريقة استدعاء الفورم وتكون بالتعريف عن الفورم الحالي الذي فتح الفورم الآخر باستخدام Me بين القوسين مثل
PHP كود :
Dim frm As New Form2
frm
.Show(Me

الخطوة الثانية في الفورم frm المنشأ من Form2 تستخدم التعريف Me.Owner والذي يعبر عن الفورم الذي استدعى هذا الفورم ولكن هنا يجب تحويله باستخدام TryCast مع تحديد الفورم المطابق لمكوناته مثل
PHP كود :
TryCast(Me.OwnerForm1).TextBox1.Text "Hello world." 



RE: كيفية التعامل مع فورم جديد برمجيا - LoveVb - 02-04-17

تفضل

كود :
        Dim frm As New Form
        Dim btn As New Button
        frm.Controls.Add(btn)
        frm.Show()
        AddHandler btn.Click, Sub()
                                  TextBox1.Text = "LoveVb"
                              End Sub



RE: كيفية التعامل مع فورم جديد برمجيا - الماجيك مسعد - 14-06-17

(02-04-17, 07:45 PM)abdualla كتب : على افتراض ان من داخل Form1 تم استدعاء Form2 ولكن عن طريق Dim frm As New Form2

الخطوة الاولى في الفورم Form1 طريقة استدعاء الفورم وتكون بالتعريف عن الفورم الحالي الذي فتح الفورم الآخر باستخدام Me بين القوسين مثل
PHP كود :
Dim frm As New Form2
frm
.Show(Me

الخطوة الثانية في الفورم frm المنشأ من Form2 تستخدم التعريف Me.Owner والذي يعبر عن الفورم الذي استدعى هذا الفورم ولكن هنا يجب تحويله باستخدام TryCast مع تحديد الفورم المطابق لمكوناته مثل
PHP كود :
TryCast(Me.OwnerForm1).TextBox1.Text "Hello world." 

فتحت فورم 2 من فورم 1 وعملت زى مانت قلت
بس فتحت فورم 3 من فورم 2
وجربت ارسل النص من 3 ل 2
ظهر خطأ فى owner ان قيمته فارغة nothing

(02-04-17, 07:51 PM)LoveVb كتب : تفضل

كود :
        Dim frm As New Form
        Dim btn As New Button
        frm.Controls.Add(btn)
        frm.Show()
        AddHandler btn.Click, Sub()
                                  TextBox1.Text = "LoveVb"
                              End Sub

للاسف لم افهم الكود


RE: كيفية التعامل مع فورم جديد برمجيا - silverlight - 14-06-17

يجب عند كتابة هذا الكود تعريف القورم بمتغير Private في قمة الكلاس
لأنك ستحتاج أن تقوم بعمل Dispose له في مرحلة ما خاصة ان تركته مفتوحا مع الفورم الرئيسي
ثانيا يجب أن تقوم باعطاؤه صفات مثل اي كونترول أخر
والفورم مثله مثل اي كونترول أخر له اسم Name و له Handle
لذلك إما تعطيه اسما و تتعامل معه بهذا الاسم
او تتعامل معه عن طريق Handle الخاص به


RE: كيفية التعامل مع فورم جديد برمجيا - الماجيك مسعد - 14-06-17

"
(14-06-17, 06:35 AM)silverlight كتب : \r\n\u064a\u062c\u0628 \u0639\u0646\u062f \u0643\u062a\u0627\u0628\u0629 \u0647\u0630\u0627 \u0627\u0644\u0643\u0648\u062f \u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u0642\u0648\u0631\u0645 \u0628\u0645\u062a\u063a\u064a\u0631 Private \u0641\u064a \u0642\u0645\u0629 \u0627\u0644\u0643\u0644\u0627\u0633\r\n\u0644\u0623\u0646\u0643 \u0633\u062a\u062d\u062a\u0627\u062c \u0623\u0646 \u062a\u0642\u0648\u0645 \u0628\u0639\u0645\u0644 Dispose \u0644\u0647 \u0641\u064a \u0645\u0631\u062d\u0644\u0629 \u0645\u0627 \u062e\u0627\u0635\u0629 \u0627\u0646 \u062a\u0631\u0643\u062a\u0647 \u0645\u0641\u062a\u0648\u062d\u0627 \u0645\u0639 \u0627\u0644\u0641\u0648\u0631\u0645 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\r\n\u062b\u0627\u0646\u064a\u0627 \u064a\u062c\u0628 \u0623\u0646 \u062a\u0642\u0648\u0645 \u0628\u0627\u0639\u0637\u0627\u0624\u0647 \u0635\u0641\u0627\u062a \u0645\u062b\u0644 \u0627\u064a \u0643\u0648\u0646\u062a\u0631\u0648\u0644 \u0623\u062e\u0631\r\n\u0648\u0627\u0644\u0641\u0648\u0631\u0645 \u0645\u062b\u0644\u0647 \u0645\u062b\u0644 \u0627\u064a \u0643\u0648\u0646\u062a\u0631\u0648\u0644 \u0623\u062e\u0631 \u0644\u0647 \u0627\u0633\u0645 Name \u0648 \u0644\u0647 Handle \r\n\u0644\u0630\u0644\u0643 \u0625\u0645\u0627 \u062a\u0639\u0637\u064a\u0647 \u0627\u0633\u0645\u0627 \u0648 \u062a\u062a\u0639\u0627\u0645\u0644 \u0645\u0639\u0647 \u0628\u0647\u0630\u0627 \u0627\u0644\u0627\u0633\u0645\r\n\u0627\u0648 \u062a\u062a\u0639\u0627\u0645\u0644 \u0645\u0639\u0647 \u0639\u0646 \u0637\u0631\u064a\u0642 Handle \u0627\u0644\u062e\u0627\u0635 \u0628\u0647\r\n[\/quote]\r\n\r\n\u0645\u0645\u0643\u0646 \u062a\u0648\u0636\u062d \u0628\u0627\u0644\u0643\u0648\u062f \u0644\u0643\u0649 \u0627\u0641\u0647\u0645 \u0627\u0643\u062b\u0631\u061f\r\n\r\n\u0645\u0639 \u0627\u0644\u0639\u0644\u0645 \u0639\u0645\u0644\u062a \u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f \u0648\u062c\u0631\u0628 \u0648\u0646\u062c\u062d \u0628\u0646\u0641\u0633 \u0627\u0644\u0637\u0631\u064a\u0642\u0629\r\n\r\n\u0648\u0644\u0643\u0646 \u0641\u0649 \u0645\u0634\u0631\u0648\u0639\u0649 \u0644\u0645 \u064a\u0646\u062c\u062d \u0645\u0639 \u0627\u0646\u0647\u0627 \u0646\u0641\u0633 \u0627\u0644\u0627\u0643\u0648\u0627\u062f"

[quote='abdualla' pid='96627' dateline='1491147919']
على افتراض ان من داخل Form1 تم استدعاء Form2 ولكن عن طريق Dim frm As New Form2

الخطوة الاولى في الفورم Form1 طريقة استدعاء الفورم وتكون بالتعريف عن الفورم الحالي الذي فتح الفورم الآخر باستخدام Me بين القوسين مثل
PHP كود :
Dim frm As New Form2
frm
.Show(Me

الخطوة الثانية في الفورم frm المنشأ من Form2 تستخدم التعريف Me.Owner والذي يعبر عن الفورم الذي استدعى هذا الفورم ولكن هنا يجب تحويله باستخدام TryCast مع تحديد الفورم المطابق لمكوناته مثل
PHP كود :
TryCast(Me.OwnerForm1).TextBox1.Text "Hello world." 

اعتذر منك اخى
وتسلم ايدك على الكود فهو يعمل بكفاءة

ولكن كان مشروعى يهنج قمت بتنظيفه واشتغل كودك
الحمدلله

تسلم ايدك


RE: كيفية التعامل مع فورم جديد برمجيا - silverlight - 14-06-17

PHP كود :
Public Class Form1
    Private magicForm 
As Form

    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        magicForm 
= New Form
        magicForm
.Name "Ahmed" ' أوي اي اسم
        magicForm.show
    End Sub


    ' 
هذا لو سوف تبقيه مفتوحا مع نهاية الفورم الرئيسي مثلا

    Private Sub Form1_FormClosing
(sender As ObjectAs FormClosingEventArgsHandles MyBase.FormClosing
        If magicForm IsNot Nothing Then
            magicForm
.Close()
 
           magicForm.Dispose()
 
           magicForm Nothing
        End 
If
 
   End Sub

    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        Dim f 
As Form TryCast(Control.FromChildHandle(magicForm.Handle), Form)
 
       f.Close()

 
   End Sub

End 
Class