简单问题,在线等,忙了半天了,晕~~~(c#)

zzumaming 2009-04-01 10:28:32
if (this.treeView1.SelectedNode.Nodes.Contains(new TreeNode(this.textBox1.Text)) ==false)
{
MessageBox.Show("子节点可以添加");
return false;
}
else
{
MessageBox.Show("子节点有重复,不能添加!");
return true;
}


为什么重复子节点总能够添加,也就是说Contains方法总返回false ???????
...全文
71 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghost5216 2009-04-01
  • 打赏
  • 举报
回复
这是因为你的new TreeNode(this.textBox1.Text))创建时是局部的,每次都会重新建立一个,引用的实例是不同的(虽然名字相同)。
你可以尝试这样做试试:
定义一个全局;
TreeNode ff;


........

在某位置
ff=new TreeNode(this.textBox1.Text));
不能与下面代码在一个过程中,

if (this.treeView1.SelectedNode.Nodes.Contains(ff))
{
MessageBox.Show("子节点有重复,不能添加!");
return false;
}
else
{
MessageBox.Show("子节点可以添加");
return true;
}
xunaipeng 2009-04-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 zzumaming 的帖子:]
if (this.treeView1.SelectedNode.Nodes.Contains(new TreeNode(this.textBox1.Text)))
{
MessageBox.Show("子节点有重复,不能添加!");
return false;
}
else
{
MessageBox.Show("子节点可以添加");
return true;
}


[/Quote]
应该这样!
xunaipeng 2009-04-01
  • 打赏
  • 举报
回复
if (this.treeView1.SelectedNode.Nodes.Contains(new TreeNode(this.textBox1.Text)) ==false)
改成
if (this.treeView1.SelectedNode.Nodes.Contains(new TreeNode(this.textBox1.Text)))试试

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧