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

إسم الفورم مخزن في متغير

بدأه salsabeel في 21 مارس 2008 · 12 رد · 1,698 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أرجو ممن لديه أي فكرة أن يجيب على هذا السؤال ؟ شاكرا له سلفا تعاونه..

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

main.show

لكن إذا أردنا أن نجعل إسم الفورم مخزن في متغير كما في المثال التالي فما هو الكود المناسب فتح النموذج باستخدام المتغير

dim frm as string

frm ="main"

كيف يمكن فتحها ؟

واتقوا الله ويعلمكم الله

#2
Dim Frm As New Main

Frm.Show

على أساس ان Main هى الفورما اللى عايز تفتحها بمتغير

كل من فى الوجود يطلب صيداً :::: غير ان الشباك مختلفات

#3

أشكرك أخي الكريم على مرورك على السؤال وتفضلك بالإجابة ولكن المشكلة لدي أن أسماء الفورم مخزنة في arraylist وأريد أن يفتح لي الفورم التي يتم اختيارها من القائمة

هل يوجد كود مناسب لفتحها ؟ أرجو أن يكون السؤال واضح

واتقوا الله ويعلمكم الله

#4

معقول ما فيه مبرمج عربي قادر على الإجابة !!

واتقوا الله ويعلمكم الله

#5

الرجاء عدم استخدام مثل هذه اللهجة. ففي النهاية أنت تطلب منا خدمة من دون مقابل.

الـArrayList يقبل أي object أي أنك تستطيع تخزين الفورم نفسها فيه بدلاً من تخزين الإسم.

#6

الحقيقه انا لست متخيلا ما الهدف من تخزين اسم الفورم داخل متغير او مصفوفه

اسم الفورم مش محتاج انك تحفظه بالطريقه دي

وكما قال الاخ عضو الشرف احنا بنساعد بعض وبدون مقابل فارجو الاهتمام بطريقة الحوار في المره القادمه

وعموما تقدري تعمل ده بعمل Public Property واستخدم Arrays وهكذا

اخوك عمر

#7

لم يكن قصدي أن أجرح مشاعر أحد ولكن مجرد تحفيز أي أخ كريم للإجابة وعلى العموم أرجو أن يتم قبول اعتذاري عن هذا اللهجة الغير مقصودة..

أما بالنسبة لكلام الأخ a_pass

اقتباس
الحقيقه انا لست متخيلا ما الهدف من تخزين اسم الفورم داخل متغير او مصفوفه

اسم الفورم مش محتاج انك تحفظه بالطريقه دي

الغرض أنني أريد أن أخزن أسماء الفورمات في listbox وعند النقر على اسم الفورم يتم فتحها وذلك لسهولة إضافة أي فورم جديدة يتم إضافة إسمها فقط في الـ listbox بدلا من التعديل في تصميم الفورم الرئيسية للبرنامج .. وربما أقوم بتخزين أسماء الفورمات في جدول في قاعدة البيانات ويتم تعبئة الـ listbox من ذلك الجدول

وأتمنى ممن لديه فكرة لعمل ذلك أن يفيدنا .. مع خالص شكري لكل من يمر على هذه المشاركة ومحاولة الرد

تم تعديل هذه المشاركة بواسطة salsabeel في 24 مارس 2008 في 20:23

واتقوا الله ويعلمكم الله

#8
		Dim FormsArray(10) As Form
		FormsArray(0) = AddBookPages
		FormsArray(0).Show()
		Dim lsBox As ListBox = New ListBox
		lsBox.DataSource = FormsArray

هذا ابسط الطرق ابحث عن كل سطر بالكوكل و تعلم

#9

اخي الكريم

انا اللي فاهمه انك عندك مجموعه من الفورم وتريد لما المستخدم يضغط علي اختيار معين داخل الليت بوكس يفتح الفورم

او انه يفتح فورم جديد تماما

عموما شوف المثال ده وهل ينفع معاك ام لا

المثال ممكن تستخدمه مع الفيجوال ستوديو 2005 او 2008



Private Sub CreateNewForm()
' هنا اضيف الكود الخاص بفنح فورم جديد ببيانات جديده ومكان جديد
End Sub

Private Sub StartMyListViewItems()

Dim ItemObject(3) As System.Object
Dim i As Integer
For i = 0 To 3
ItemObject(i) = "Form" & i
Next i
ListBox1.Items.AddRange(ItemObject)
ListBox1.Items.Add("New Form")

End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Dim curItem As String = ListBox1.SelectedItem.ToString()
With curItem

Select Case curItem
Case "Form0"
Form0.Show()

Case "form1"
Form1.Show()

Case "form2"

Form2.Show()

Case "New Form"
CreateNewForm()

Case Else

End Select

End With

End Sub

Private Sub Mainform_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
StartMyListViewItems()

End Sub
End Class
Public Class Mainform

اخوك عمر

#10

مشكورين جدا على الرد وأسال الله تعالى أن يجازيكم عني خيرا

بالنسبة لرد الأخ " slayer666" لم أفهم ما يقصد بـ AddBookPages

وأما الاخ a_peass فقد أستخدت نفس الطريقة ولكن مع بعض التعديل وكنت أتمنى أن يكون الكود مختصر بدلا من كتابة كود مستقل لكل فورمة باستخدام select case

أشكركم مرة أخرى والفكرة ما زالت تحت النقاش للمبدعين

واتقوا الله ويعلمكم الله

#11

اخي الكريم

انا عملت المثال لاني مش قادر افهم حضرتك عايز ايه بالضبط

مش من المنطقي اصلا انك تستحدم عددكبير من الفورم

ممكن اعرف كام فورم عايز تستخدم في البرنامج بتاعك وايه الهدف بالضبط

متهيالي من الافضل بدل ما تستخدم عدد كبير من الفورم انك تستخدم مثلا

ًWindows form control Library

وتستخدم فورم واحد فقط او اتنين بالكتيير

لو سمحت وضح هدفك من سؤالك ها تساعدنا اكتر اننا نساعدك ياريت اعرف انتا عايز تستخدم كام فورم

اما بخصوص ان الكود طويل ده نتيجة اني مش فاهم طلبك بصوره جيده

او تقدر تقول مش فاهم الهدف من ورا الفكره بتاعتك

وشكرا

اخوك عمر

تم تعديل هذه المشاركة بواسطة a_pess في 26 مارس 2008 في 02:31

#12
salsabeel كتب:
مشكورين جدا على الرد وأسال الله تعالى أن يجازيكم عني خيرا

بالنسبة لرد الأخ " slayer666" لم أفهم ما يقصد بـ AddBookPages

وأما الاخ a_peass فقد أستخدت نفس الطريقة ولكن مع بعض التعديل وكنت أتمنى أن يكون الكود مختصر بدلا من كتابة كود مستقل لكل فورمة باستخدام select case

أشكركم مرة أخرى والفكرة ما زالت تحت النقاش للمبدعين

AddBookPages هو الفورم

اسف على التقصير نسيت التوضيح

تم تعديل هذه المشاركة بواسطة slayer666 في 26 مارس 2008 في 15:20

#13

أشكركم جميعا وأسأل الله تعالى أن يكتب ذلك في ميزان حسناتكم..

اقتباس
لو سمحت وضح هدفك من سؤالك ها تساعدنا اكتر اننا نساعدك ياريت اعرف انتا عايز تستخدم كام فورم

اما بخصوص ان الكود طويل ده نتيجة اني مش فاهم طلبك بصوره جيده

او تقدر تقول مش فاهم الهدف من ورا الفكره بتاعتك

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

وعلى العموم أشكركم جميعا فقد أضفتم لي أفكار جديدة من خلال النقاش وتبادل الأفكار

واتقوا الله ويعلمكم الله

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…