Treeview Check/Uncheck All



  • Hallo,
    hab nen haufen an TextBoxen in meiner Form durch ein Treeview ersetzt, der Code sieht folgendermaßen aus:

    private: System::Void treeView1_AfterCheck(System::Object^  sender, System::Windows::Forms::TreeViewEventArgs^  e) 
    		 {
    			 if(e->Action != TreeViewAction::Unknown && e->Node->Text == "All")
    			 {	
    				 DoCheckorUncheck();
    			 }
    		 }
    
    void DoCheckorUncheck()
    {			
    		bool state = treeView1->Nodes[0]->Checked; //meine Check/Uncheck All Node
    
    		for each (TreeNode^ tn in treeView1->Nodes)
    		{
    				tn->Checked = state;
    		}
    }
    

    Das Problem hierbei ist, dass wenn ich schnell hinteeinander auf die Check/Uncheck All Node klicke, also zwischen alles auswählen und nichts auswählen wechsele wird alles durcheinander geworfen und am ende ist die Check/Uncheck All Node gechecked und sonst nix, oder umgekehrt.

    Wenn ich verzögert auf die Check/Uncheck All Node klicke funkioniert alles tadellos

    Hoffe jemand weiß da was 😃
    Grüße ZF


Anmelden zum Antworten