Frage

So in meiner Dokumentation heißt es:

  

öffentliche Veranstaltung TreeViewPlusNodeCheckedEventHandler NodeChecked ()

     

Sie können dieses Ereignis verwenden, um ein Verfahren führen zu laufen, wenn die   Kontrollkästchen für einen Knoten auf dem Baum überprüft.

Wie kann ich eine Methode, um meinen Code hinter Datei hinzufügen, die ausgeführt werden, wenn ein Knoten aktiviert ist? Die Methode, die ich laufen will, ist:

protected void TOCNodeCheckedServer(object sender, TreeViewPlusNodeEventArgs args)
{

    TreeViewPlusNode aNode = args.Node;
    if (!aNode.Checked)
        return;
    List<string> BaseLayers = new List<string>();
    _arcTOCConfig.BaseDataLayers.CopyTo(BaseLayers);

    List<MapResourceItem> mapResources = new List<MapResourceItem>();

    if (BaseLayers.Contains(aNode.Text))
    {
        foreach (BaseDataLayerElement anEl in _arcTOCConfig.BaseDataLayers)
        {
            if (!aNode.Text.Equals(anEl.Name))
            {
                if (aNode.TreeViewPlus.Nodes.FindByValue(anEl.Name).Checked)
                {
                    aNode.TreeViewPlus.Nodes.FindByValue(anEl.Name).Checked = false;
                    aNode.TreeViewPlus.Nodes.FindByValue(anEl.Name).Refresh();
                    MapResourceItem aMapResource = this.Map1.MapResourceManagerInstance.ResourceItems.Find(anEl.Name);
                    aMapResource.DisplaySettings.Visible = false;
                    this.Map1.RefreshResource(anEl.Name);
                    mapResources.Add(aMapResource);
                    this.Map1.MapResourceManagerInstance.ResourceItems.Remove(aMapResource);
                }
                else
                {
                    MapResourceItem aMapResource = this.Map1.MapResourceManagerInstance.ResourceItems.Find(anEl.Name);
                    mapResources.Add(aMapResource);
                    this.Map1.MapResourceManagerInstance.ResourceItems.Remove(aMapResource);
                }

            }
        }

        foreach (MapResourceItem aMapResource in mapResources)
        {
            int count = this.Map1.MapResourceManagerInstance.ResourceItems.Count - 1;
            this.Map1.MapResourceManagerInstance.ResourceItems.Insert(count, aMapResource);
            this.Map1.MapResourceManagerInstance.CreateResource(aMapResource);
        }
        this.Map1.InitializeFunctionalities();
        this.Map1.Refresh();
    }
}

vs 2008 c # .net 3.5

War es hilfreich?

Lösung

Sie benötigen einen Delegierten zu dem Ereignis zuordnen und haben sie die Methode, die Sie wollen laufen. So etwas wie:

TreeViewControl.NodeChecked + = new TreeViewPlusNodeCheckedEventHandler (TOCNodeCheckedServer)

Andere Tipps

Fügen Sie einfach einen Handler auf das Ereignis.

myTreeView.NodeChecked += new TreeViewPlusNodeCheckedEventHandler(TOCNodeCheckedServer);

oder (weil die TreeViewPlusNodeCheckedEventHandler Instanziierung ist eigentlich nicht erforderlich)

myTreeView.NodeChecked += TOCNodeCheckedServer;

Dies ist ein Standardfall einen Handler für ein Ereignis Registrierung

treeView.NodeChecked += TOCNodeCheckedServer;

Auf dem Initialise Methode für das Formular Add

TOCTree.NodeChecked += new TreeViewPlusNodeCheckedEventHandler (TOCNodeCheckedServer);

Dies wird zeigen, Ihre App TOCNodeCheckedServer wenn die TOCNode Feuert die NodeChecked Ereignis.

laufen

Es gibt viele Ressourcen im Internet zu erklären, wie das funktioniert. Schauen Sie sich http://www.csharphelp.com/archives/archive253.html  als Beispiel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top