هل يمكنني أن أضع صورة خلفية ل treeview وكيف يتم ذلك
صورة خلفية ل Treeview
أخي الفاضل
افتح مشرروع جديد مثلا ثم أضف له كلاس ,وداخل هذا الكلاس قم بعمل Inherits الي TreeView
بعد ذك قم بعمل Overrides للحدث OnPaintBackground
لا تنسي أن تضيف صورة ما الي Resources المشروع
وداخل هذا الحدث ارسم الصورة كما تريد باستخدام الكود التالي
pevent.Graphics.DrawImage(My.Resources.اسم الصوره, New Rectangle(0, 0, ClientSize.Width, ClientSize.Height))
وايضا عليك استخدام Invalidate داخل الحدث OnBeforeCollapse
وايضا استخدام Invalidate داخل الحدث OnBeforeExpand
تقريبا دي الفكره العامة للموضوع
بالتوفيق
أخوك عمر
تم تعديل هذه المشاركة بواسطة a_pess في 29 سبتمبر 2008 في 08:38
شكراً جزيلاً لك أستاذ a_pess
ولكن, لم يحدث شئ
حاولت كثيراً ولكن لم أصل إلى نتيجة
وجربت كل ما قلته وأضف أيضاً ولكن لا شئ
وشكرأ مرة أخرى
اخي الفاضل
الكود سيكون كالأتي
Inherits TreeView
Public Sub New()
Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint, True)
End Sub
Protected Overrides Sub OnPaintBackground(ByVal pevent As System.Windows.Forms.PaintEventArgs)
MyBase.OnPaintBackground(pevent)
pevent.Graphics.DrawImage(My.Resources.page_letter__fit__001, Me.ClientRectangle)
End Sub
Protected Overrides Sub OnBeforeCollapse(ByVal e As System.Windows.Forms.TreeViewCancelEventArgs)
MyBase.OnBeforeCollapse(e)
Invalidate()
End Sub
Protected Overrides Sub OnBeforeExpand(ByVal e As System.Windows.Forms.TreeViewCancelEventArgs)
MyBase.OnBeforeExpand(e)
Invalidate()
End Sub
End Class
Public Class tv
عموما الكود بالمرفقات
لكن فيه شئ مهم جدا عليك أن تقوم برسم Nodes
لأن الصورة سوف تغطي Nodes لذا عليك ان ترسمها أيضا
اخوك عمر
تم تعديل هذه المشاركة بواسطة a_pess في 30 سبتمبر 2008 في 17:30
شكراً لك مرة أخرى
وأنا آسف على الإزعاج
ولكن رسم Nodes?
فكرة عامة على الأقل
وشكراً
وكل عام وأنت بخير