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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  فورم يناسب كل الشاشات نبيل فتحى 6 3,519 منذ 47 دقيقة مضت
آخر رد: Taha Okla
  استخدام فونت جديد في البرنامج Emam emam 5 92 14-04-24, 01:29 PM
آخر رد: عبد العزيز البسكري
  اضافه سجل row جديد سلام و محبه2090 0 102 02-03-24, 11:04 PM
آخر رد: سلام و محبه2090
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 239 25-02-24, 11:26 PM
آخر رد: heem1986
  كيفية تنفيذ امر عند التعليم على checkbox بالداتا جريد فيو heem1986 2 162 21-02-24, 01:37 AM
آخر رد: heem1986
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 214 20-02-24, 12:00 AM
آخر رد: Kamil
  كيفية تنفيذ أمر عرض بيانات من فورم ثان مصمم هاوي 7 339 19-02-24, 12:28 AM
آخر رد: مصمم هاوي
  كيفية حفظ وتحزيم المشروع وتشغيله كبرنامج علىجميع الاجهزة الرائد 3 1,137 18-02-24, 10:37 PM
آخر رد: الحزين اليماني
  [سؤال] كيفية انشاء فورم داخل مشروعى عاصم النجار 2 314 05-01-24, 12:36 AM
آخر رد: HALIM ELEULMA
  [سؤال] كيفية ربط ماكينة الدفع ببرنامج الكاشير ؟ osamaelmaghraby 3 336 26-12-23, 11:53 PM
آخر رد: osamaelmaghraby

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم