تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كيفية التعامل مع فورم جديد برمجيا
#1
vb.net
كيفية التعامل مع فورم جديد برمجيا
بمعنى
بفتح فورم بالكود دا
Dim frm As New form1
frm.Show()

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

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

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

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

اتمنى يكون السؤال واضح
الرد }}}
تم الشكر بواسطة:
#2
على افتراض ان من داخل 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." 
الرد }}}
تم الشكر بواسطة: LoveVb , الماجيك مسعد , الماجيك مسعد
#3
تفضل

كود :
        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
الْلَّهُم صَلِّ وَسَلِم وَبَارِك عَلَى سَيِّدِنَا مُحَمَّد
الرد }}}
تم الشكر بواسطة: abdualla
#4
(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

للاسف لم افهم الكود
الرد }}}
تم الشكر بواسطة:
#5
يجب عند كتابة هذا الكود تعريف القورم بمتغير Private في قمة الكلاس
لأنك ستحتاج أن تقوم بعمل Dispose له في مرحلة ما خاصة ان تركته مفتوحا مع الفورم الرئيسي
ثانيا يجب أن تقوم باعطاؤه صفات مثل اي كونترول أخر
والفورم مثله مثل اي كونترول أخر له اسم Name و له Handle
لذلك إما تعطيه اسما و تتعامل معه بهذا الاسم
او تتعامل معه عن طريق Handle الخاص به
الرد }}}
تم الشكر بواسطة: الماجيك مسعد
#6
"
(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." 

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

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

تسلم ايدك
الرد }}}
تم الشكر بواسطة:
#7
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 
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  فائدة بخصوص التعامل مع علامات التنصيص مع {سؤال} justforit 4 269 02-11-25, 11:19 PM
آخر رد: justforit
  كيفية منع ظهور الأخطاء من إعدادات البيسيك mmaalmesry 2 847 29-08-25, 10:30 AM
آخر رد: mmaalmesry
  كيفية جلب أسماء الأعمدة بجدول من جداول sql heem1986 2 745 17-08-25, 09:15 PM
آخر رد: heem1986
  كيفية حفظ إعدادات البرنامج بحيث لا تتغير أحمد إبراهيم سعد 4 3,001 06-08-25, 06:34 PM
آخر رد: Taha Okla
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,218 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  [VB.NET] حفظ تنسيق الفورم ثم تطبيقة علي فورم اخر فيجوال بيسك abo ragab 7 1,205 09-07-25, 12:45 AM
آخر رد: abo ragab
  [VB.NET] استدعاء داتا كريت فيو من فورم اخر EMADW 1 419 16-04-25, 06:10 PM
آخر رد: مصمم هاوي
  [VB.NET] عدم ظهور فورم نهى على خليل 0 291 02-04-25, 02:59 PM
آخر رد: نهى على خليل
  مشكاه غريبه ظهرت لى فى فورم خالد كامل1 1 326 15-02-25, 02:11 PM
آخر رد: خالد كامل1
  كيفية احتساب الفرق بين تاريخين بناء على عدد معين مصمم هاوي 2 550 15-01-25, 02:02 PM
آخر رد: مصمم هاوي

التنقل السريع :


يقوم بقرائة الموضوع: