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

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

بدأه محمد فؤاد تركي في 4 أكتوبر 2011 · 8 رد · 795 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الافاضل

اثقلت عليكم اليوم بأسئلتي الكثيرة

لكن عشمي فيكم كبير

المرفق مثال عبارة عن 3 فورم

Form 1 , Form 2 and Form 3

الفورم الاول يوجد به عدد 2 تكست بوكس و عدد 2 زر

فعندما اضغط علي زر From يقوم بفتح form 2 ثم اضغط علي اسم الاب 2 كليك ليتم وضع الباراميتر المختار في TextBox1.Text

وعندما اضغط علي زر Toيقوم بفتح form 3 ثم اضغط علي اسم الاب 2 كليك ليتم وضع الباراميتر المختار في TextBox2.Text

السؤال

هل يمكن ان يقوم form 2 بهذه المهمتين بدلاً من تصميم عدد 2 فورم لاداء كل مهمة علي حدة

post-46243-061891200 1317750954_thumb.jp

post-46243-079542400 1317750972_thumb.jp

post-46243-091304500 1317750984_thumb.jp

WindowsApplication2.rar

المرفقات
1.jpg2.jpg3.jpg

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#2

بكل تأكيد فورم تكفي لهذا الغرض

هذا الرد أخي قمت بكتابته سابقا في هذا الموضوع ولكن بلغة c#

سأقوم بالتحويل لل vb.net

اقتباس

تريد ان ترسل من الفورم الثانية للفورم الاولى،،

مثلا في عملية بحث ،، فتظهر الفورم الثانية وترسل قيمة للفورم الاولى ،، وهي في ال RunTime

هكذا فهمت من سؤالك ،،

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

هذا الكود للشاشة الاولى وهي شاشة العملاء كما قلنا:

Private Search As New frmSearchRegion()


Public Sub New()
	InitializeComponent()
	Search.SendInfo += New SendDetails(frmSearch_SendInfo)
End Sub

Private Sub frmSearch_SendInfo(Details As String)
	txtRegionName.Text = Details
End Sub

خلص انتهينا من الشاشة الاولى

نذهب الى الشاشة الثانية وهي شاشة البحث عن المناطق ننشئ حدث

Public Event SendInfo As SendDetails

Private Sub gridAll_DoubleClick(sender As Object, e As EventArgs)
	Try
		Dim SelectedIndex As Integer = Integer.Parse(gridView1.GetSelectedRows()(0).ToString())
		Dim clickID As Integer = Integer.Parse(gridView1.GetRowCellValue(SelectedIndex, "اسم الجدول").ToString())
		Dim pass As String = clickID.ToString()
		SendInfo(pass.Trim())
			'   MessageBox.Show(clickID.ToString()); 
		Me.Close()
	Catch
		Return
	End Try
End Sub

اعتقد انه بالنظر الى هذا الكود فانك سوف تفهم كل شيء ،، وماذا انشأنا وكيف تعاملنا ونقلنا البيانات من فورم الى فورم

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

ان نفعك ما كتبت فادعو لي ولوالدي

#3

بعتذر لك أخي عن عدم فهمي الكود المكتوب

ارجو الايضاح أكثر من ذلك أو يفضل التعديل علي المثال المرفق حتي تتضح الفكرة

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#4

لقد قمت بعمل Write Property والتي من خلالها سأرسل البيانات للفورم الثاني

Public _CtrlNumber As Integer
    Public WriteOnly Property CtrlNumber()
        Set(ByVal value)
            _CtrlNumber = value
        End Set
    End Property

ثم في حدث DataGridView1_CellDoubleClick

استخدمت هذا الكود لكي يرسل القيمة المخزنه في _CtrlNumber الي الفورم

  If _CtrlNumber = 1 Then
                    E7_la2_Taraf.TxtFrom.Text = DataGridView1.Rows(e.RowIndex).Cells(0).Value
                ElseIf _CtrlNumber = 2 Then
                    E7_la2_Taraf.TxtTo.Text = DataGridView1.Rows(e.RowIndex).Cells(0).Value
                End If

وأثناء الضغط علي الزر الاول في الفورم أو الزر الثاني أقوم استدعاء _CtrlNumber وأقوم ارسالها للفورم

_CtrlNumber = 1 للفورم الاول

_CtrlNumber = 2 للفورم الثاني

وبهذا تغلبت علي اني استدعي عدد 2 lookup لنفس الفورم

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

مرفق الملف بعد التعديل

WindowsApplication2.rar

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#5

أخي الكريم

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

Event

Public Event SendInfo As SendDetails

وهنا استقبال البيانات الناتج عن الحدث

Search.SendInfo += New SendDetails(frmSearch_SendInfo)

فقط وترسل البيانات من الشاشة الثانية للاولى عن طريق Event

#6

أي الفاضل Big Boss 86

في أي مكان بالضبط اضع هذه الاحداث

ارجو ذكر مكان مواضع هذه الاحداث بالترتيب

في الفورم الاول والفورم الثاني و DataGridView

هذا بالاضافة الي ان هذا السطر يعطي خطأ بالاخص تحت كلمة SendDetails

Public Event SendInfo As SendDetails

post-46243-030228800 1317874403_thumb.jp

المرفقات
06-10-2011 6-08-44 AM.jpg

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#7
Public Delegate Sub SendDetails(ByVal Details As String)

  Public Event SendInfo As SendDetails
#8
في أي مكان بالضبط اضع هذه الاحداث

ارجو ذكر مكان مواضع هذه الاحداث بالترتيب

في الفورم الاول والفورم الثاني و DataGridView

هل تجد صعوبة اخي الفاضل BIG BOSS للتعديل علي المثال المرفق ؟؟

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#9

اعتقد هذا ما تبحث عنة انظر المثال

WindowsApplication2.rar

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