यह TreeNode
पाठ जहां छवि, किया जाना चाहिए था सफेद स्थान से छुटकारा पाने आकर्षित करेगा।
आपको TreeView
की DrawMode
संपत्ति OwnerDrawText
पर सेट करने की आवश्यकता होगी। आप गुण पैनल में DrawMode
संपत्ति पा सकते हैं।
अगला जब आप कोई नोड जोड़ते हैं, तो इसे ImageIndex
और SelectedImageIndex
अपने yourImageListName.Images.Count
मान के मान से अधिक सेट करें। ऐसा इसलिए है कि कोई छवि खींची नहीं जाएगी, लेकिन फिर भी वह सफेद जगह होगी जो आप नहीं चाहते हैं।
अब सफेद स्थान से छुटकारा पाने के लिए। वृक्षदृश्य DrawNode
घटना के लिए एक हैंडल जोड़ें। यह वृक्षदृश्य संपत्ति पैनल पर जाकर और पैनल में आइकन पर क्लिक करके किया जा सकता है जो प्रकाश बोल्ट की तरह दिखता है, फिर जब तक आप DrawNode
टेक्स्ट को तब तक स्क्रॉल करें, इसे डबल क्लिक करें।
अब आप बस कॉपी और बनाया विधि
if (e.Node.ImageIndex >= e.Node.TreeView.ImageList.Images.Count) // if there is no image
{
int imagewidths = e.Node.TreeView.ImageList.ImageSize.Width;
int textheight = TextRenderer.MeasureText(e.Node.Text, e.Node.NodeFont).Height;
int x = e.Node.Bounds.Left - 3 - imagewidths/2;
int y = (e.Bounds.Top + e.Bounds.Bottom)/2+1;
Point point = new Point(x - imagewidths/2, y - textheight/2); // the new location for the text to be drawn
TextRenderer.DrawText(e.Graphics, e.Node.Text, e.Node.NodeFont, point, e.Node.ForeColor);
}
else // drawn at the default location
TextRenderer.DrawText(e.Graphics, e.Node.Text, e.Node.TreeView.Font, e.Bounds, e.Node.ForeColor);
आपके द्वारा निर्दिष्ट किया जा सका बराबर या अधिक है में मदद करता है Winforms ऐप, कृपया? – splattne
हो गया - Winforms। – Simon