[英]How can I use an event to cause a method to run?
所以在我的文檔中它說:
公共事件TreeViewPlusNodeCheckedEventHandler NodeChecked()
可以在樹上選中節點復選框時使用此事件來運行,從而導致方法運行。
那么,如何在代碼后面的代碼中添加一種方法,該方法將在檢查節點時運行? 我要運行的方法是:
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();
}
}
與2008 c#.net 3.5
您需要為事件分配一個委托,並使其運行所需的方法。 就像是 :
TreeViewControl.NodeChecked + =新的TreeViewPlusNodeCheckedEventHandler(TOCNodeCheckedServer)
只需向事件添加處理程序即可。
myTreeView.NodeChecked += new TreeViewPlusNodeCheckedEventHandler(TOCNodeCheckedServer);
或(因為實際上不需要實例化TreeViewPlusNodeCheckedEventHandler)
myTreeView.NodeChecked += TOCNodeCheckedServer;
這是注冊事件處理程序的標准情況
treeView.NodeChecked += TOCNodeCheckedServer;
在表單的初始化方法上,添加
TOCTree.NodeChecked += new TreeViewPlusNodeCheckedEventHandler (TOCNodeCheckedServer);
這將告訴您的應用在TOCNode觸發NodeChecked事件時運行TOCNodeCheckedServer。
網絡上有大量的資源說明了它是如何工作的。 請以http://www.csharphelp.com/archives/archive253.html為例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.