2 개의 폼이 있습니다. 양식 1에서 treeview가 있습니다. 하나의 방법으로, 나는 점검 한 노드 목록을 얻는다.form1의 새 인스턴스를 만들지 않고 form2의 form1 메서드를 호출하려면 어떻게해야합니까?
private void CreateListOfCheckedNodes()
{
TreeNodeCollection nodes = TreeData.Nodes;
Int32 EffectedNodes = GetCheckedNodesCount(nodes);
if (EffectedNodes > 0)
{
;//my code
}
}
public int GetCheckedNodesCount(TreeNodeCollection nodes)
{
int CheckedNodesCount = 0;
for (int i = 0; i < nodes.Count; i++)
{
TreeNode node = nodes[i];
if (node.Checked)
{
TreeFieldSet Item = new TreeFieldSet { TreeId = Int32.Parse(node.Tag.ToString()), Title = node.Text };
MyProject.Tree.TreeCheckedNodes.TreeList.Add(Item);
CheckedNodesCount++;
}
if (node.Nodes.Count > 0)
CheckedNodesCount += GetCheckedNodesCount(node.Nodes);
}
return CheckedNodesCount;
}
어떻게 Form1의 새없이 양식 2의 방법 CreateListOfCheckedNodes
를 호출 할 수 있습니까? 이 전화 번호 :
Tree.TreeSubjects Ts = new Tree.TreeSubjects();
Ts.CreateListOfCheckedNodes();//if CreateListOfCheckedNodes public
오류가 발생했습니다!
제발 도와주세요!
form2의 form1 컨트롤에 액세스하는 방법은 무엇입니까? –
@a_ahmadi : 왜 그게 필요하니? 메서드는 매개 변수로 전달 된 컨트롤 이외의 컨트롤에 액세스하지 않습니다. –
나는 새로운 클래스를 만든다. (당신의 도움으로 고맙다.) 폼 1에서 treeview 컨트롤을 사용한다. TreeNodeCollectionHelper.CreateListOfCheckedNodes (TreeData); TreeData는 form1의 TreeView 컨트롤의 이름입니다. 폼 2의 폼 1의 TreeView를 호출하여 동일한 컨트롤에 액세스하려면 어떻게해야합니까? –