当前位置:  开发笔记 > 编程语言 > 正文

如何使用事件使方法运行?

如何解决《如何使用事件使方法运行?》经验,为你挑选了1个好方法。

所以在我的文档中它说:

公共事件TreeViewPlusNodeCheckedEventHandler NodeChecked()

您可以使用此事件运行,只要在树上检查节点的复选框,就会运行方法.

那么如何在我的代码后面添加一个方法,该方法将在检查节点时运行?我想要运行的方法是:

protected void TOCNodeCheckedServer(object sender, TreeViewPlusNodeEventArgs args)
{

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

    List mapResources = new List();

    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



1> DaveK..:

您需要为该事件分配一个委托,并让它运行您想要的方法.就像是 :

TreeViewControl.NodeChecked + = new TreeViewPlusNodeCheckedEventHandler(TOCNodeCheckedServer)

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有