السلام عليكم ورحمة الله
استخدم TreeView كمينيو رئيسي في برنامجي , أريد عندما يقوم اليوزر بالضغط على النوده مثلا التي اسمها السيارات تعمل فورمة السيارات (شاشة السيارات ) , ولو ضغط على نود الدراجات تعمل فورمه الدراجات وهكذا ..
السلام عليكم ورحمة الله
استخدم TreeView كمينيو رئيسي في برنامجي , أريد عندما يقوم اليوزر بالضغط على النوده مثلا التي اسمها السيارات تعمل فورمة السيارات (شاشة السيارات ) , ولو ضغط على نود الدراجات تعمل فورمه الدراجات وهكذا ..
يمكنك عمل ذلك عن طريق اسم العقدة node
1- قم بوضع اسم فريد لكل node
2- قم بعمل اجراء حسب ما هو مبين ادناه
Sub getIndexNode() Me.Cursor = Cursors.WaitCursor Try Select Case Me.TrViewPrograms.SelectedNode.Name Case "N1_1" : My.Forms.frmAddBand.Show() Case "N1_2" : My.Forms.frmCityRecords.Show() Case "N1_3" : My.Forms.frmEnterDataBank.Show() Case "N1_4" : My.Forms.frmEditDelelet.Show() End Select Catch ex As Exception Finally Me.Cursor = Cursors.Default End Try End Sub
الان يمكنك وضع الاجراء في اي من sub التالية
Private Sub TrViewPrograms_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TrViewPrograms.DoubleClick getIndexNode() End Sub Private Sub TrViewPrograms_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TrViewPrograms.KeyUp If e.KeyCode = Keys.Enter Then getIndexNode() End If End Sub
تم تعديل هذه المشاركة بواسطة aswany في 14 يونيو 2009 في 13:10
ما اقول الا الله يجزاك الجنه يارب ان شاء الله ..
الله كل شئ تمام .. بس التري انا خليتها يمين .. واقدر استخدم الاسهم عشان اطلع وانزل في التري .. لما اضغط يسار مثلا بالكيبورد يروح فاتح لي النودات .. ابغا لما اضغط يسار ومافي نودات يفتحهم يقوم يشغل لي نفس النوده ..
بصوره اوضح .. الان انا استدعي الداله الي فوق من داله دبل كليك .. ابغى اسم الداله الي تتأثر بالاسهم
في الحقيقة لم استطع ان افهم ما تريد بالضبط ياريت لو صورة توضحيه تكون احسن .. ولكن في كل الحالات الاسهم تعمل داخل ال treeview بشكل آلى فهي ليست لفتح النماذج ولكن للحركة اعلى واسفل وفتح النودات الرئيسية وكذلك طي النودات المتفرعة ولا تستخدم لفتح النماذج.
انت استخدمت الدالة مع الحدث دبل كليك حاول مع الحدث الثاني وهو حدث KeyUp فعند الضغط على مفتاح انتر يتم استدعاء الداله المطلوبة يعني الفورم المطلوب .... حاول التغير وغير من الانتر في فتح النموذج الى اي شئ اخر .
الله يجزاك بالخير
جربت الحدث KeyUp لكن مشكلته يفتح النوده بمجرد المرور عليها بدون انتر ..
انا مااريده هو التالي .. لنفرض عندي نوده اسمها السيارة .. وداخلها ثلاث نودات مثلا .. الابواب .. العجلات .. المصابيح ..
وكل نوده مربوطه بفورم معين ..
اول مايبتدي البرنامج اروح اضغط السهم يسار يفتح معاي نوده السياره وتظهر الثلاث نودات الداخليه .. اقوم ضاغط السهم تحت مرتين عشان اختار النوده الثانيه الي اسمها العجلات .. الان انا ابغى اضغط السهم يسار عشان افتح الفورم المربوط بالنوده عجلات .. لانه النوده عجلات مافيها نوده داخليه المفروض لما اضغط يسار يقوم فاتحها .. الحدث هذا ايش اسمه؟
شاكر لك ومقدر واتمنى الصوره اتضحت
أسف جداً على التأخير لم افتح النت الا اليوم .. ظروف العمل
فقط اضف هذه السطور في حدث keyup
If e.KeyCode = Keys.Left Then If Me.TrViewPrograms.SelectedNode.IsSelected = True Then getIndexNode() End If
تم تعديل هذه المشاركة بواسطة aswany في 24 يونيو 2009 في 16:34