이벤트를 사용하여 메소드를 실행할 수있는 방법은 무엇입니까?
문제
그래서 내 문서에서는 다음과 같습니다.
공개 이벤트 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();
}
}
vs 2008 C# .net 3.5
해결책
이벤트에 대의원을 할당하고 원하는 방법을 실행해야합니다. 같은 것 :
TreeViewControl.NodeChecked += New 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예로서.
제휴하지 않습니다 StackOverflow