我有两个名为“mainForm”和“addRslt”的表单。这个想法是当用户单击 mainForm 中的按钮时,addRslt 表单将 Show(),然后用户将填充 TreeView。现在,当用户想要关闭此 addRslt 表单时,程序将改为Hide()表单(使用e.Cancel = true;),因此稍后如果用户重新打开此表单,他/她可以向 TreeView 添加更多内容。
在我的 mainForm 中,我有一个用于显示此 addRslt 表单的按钮,并且在此按钮的单击代码中,还有我的 FormClosing 委托,它将检测 addRslt 表单中的 TreeView 内容并将其复制到 mainForm 中的 TreeView。
现在的问题是我想检查重复的节点并且不要将它们添加到 mainForm 中的 TreeView。这是正确的,但我还有一个消息框,告诉用户程序没有添加现有节点!到目前为止还可以。但是问题是每次我这样做时,这个消息框都会出现 N+1 次!我的意思是如果我第一次这样做,这个消息框会出现 2 次等等......
这是我的代码!对不起,长篇大论!
private void menuFileAddTestResults_Click(object sender, EventArgs e)
{
addRslt.Show();
addRslt.FormClosing += delegate
{
foreach (TreeNode node in addRslt.treeViewSelectedFiles.Nodes)
{
TreeNode newNode = new TreeNode();
newNode.Text = node.Text;
newNode.Name = node.Name;
newNode.Tag = node.Tag;
if (!treeViewTestFiles.Nodes.ContainsKey(node.Name))
{
treeViewTestFiles.Nodes.Add(newNode);
}
else
{
countExist++;
}
}
if (countExist > 0)
{
MessageBox.Show(countExist.ToString() + " Test files are already exist in the list!");
}
countExist = 0;
};
}