2009-04-30 14 views
5

के बाद सॉर्ट करें पेड़ में नोड के लेबल को संपादित करने के बाद मैं अपडेटेड आइटम को सही स्थिति में रखने के लिए नोड्स का सहारा लेने का प्रयास करता हूं। मैं इसे कॉल करके करता हूं। AfterLabelEdit ईवेंट हैंडलर में .ort जो अनंत लूप का कारण बनता है।सी # विंडोज फॉर्म ट्री व्यू लेबलएडिट

लेबल बदलने के बाद मैं ट्रीव्यू में नोड्स का सहारा कैसे ले सकता हूं?

+1

एक बात मैं MSDN के प्रलेखन में पाया: क्योंकि ListView .. :: AfterLabelEdit घटना से पहले लेबल संपादित जगह लेता है के लिए प्रतिबद्ध है, ListView बुला .. :: इस के लिए एक हैंडलर में क्रमबद्ध विधि।। घटना मूल मूल्य का उपयोग कर आइटम को सॉर्ट करेगा। –

उत्तर

6

उपयोग BeginInvoke:

delegate void sort(); 

    private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) 
    { 
     treeView1.BeginInvoke(new sort(treeView1.Sort)); 
    } 
+1

यह मेरे नमूने पर काम किया। –

+0

यह काम करता है, धन्यवाद। – blu

8

उपयोग के बजाय अपने खुद के प्रतिनिधि घोषित करने के एक MethodInvoker प्रतिनिधि के साथ BeginInvoke।

private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) 
{ 
    treeView1.BeginInvoke(new MethodInvoker(treeView1.Sort)); 
} 
+0

कूल, यह एक साफ समाधान है! – Mantisimo

संबंधित मुद्दे