竟然csdn里没有一个人能解答的呀? 这个标题属于找抽型...这问题看不出来原因的都应该去找本入门书面壁一周...new TreeNode(this.textBox1.Text)//每次创建的TreeNode对象都是不可能相同的,即使title相同...去看看书什么叫引用类型,==号怎样比较引用类型... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为你每次都判断是不是包含了新的节点(你用了new),即使有了这样一个节点,也是"老"的了。 Contains(new TreeNode(this.textBox1.Text))愚人节也不能这样搞啊 你每次使用Contains的时候,里面的元素都是new出来的,节点里怎么可能有呢???? new TreeNode(this.textBox1.Text)引用类型。和现在TREENODE并不是指向同一个TREENODE 那是不是Contains方法在判断是否存在重复节点的时候就不能用了?如果能用,正确代码怎么写???? bool exist = false;foreach(TreeNode node in this.treeView1.SelectedNode.Nodes){ if(node.Text==this.textBox1.Text) { exist=true; break; }}if (!exist) { MessageBox.Show("子节点可以添加"); return false; } else { MessageBox.Show("子节点有重复,不能添加!"); return true; } this.treeView1.SelectedNode.Nodes.Contains(new TreeNode(this.textBox1.Text)) ==false;之是一个“永真式”,因为你new出来的TreeNode实例不可能存在你选中结点的子结点中,Nodes.Contains()判断的是实例(引用)是否相同,你新new出来的实例肯定不存在,所以永远为false,而false==false永远是true; 因为你只是判断能不能添加,并没有真正添加节点。new TreeNode(this.textBox1.Text)) 只是生成了一个节点而已。添加节点需要treenode.nodes.add啊。没有添加,自然不包含此节点。所以contains一直返回false WinForm将Excel中的表导入orcale 关于三层结构的一点疑惑 求一个C# winform的日程控件。 也是关于截图,截指定位置和大小,望高手指点 为什么程序从main()开始,而且这个main已经被封装到了类中 怎样在C#中定义字符串的长度??? 如何强制结束套接字的BeginReceive?不要关闭套接字的方法。 C#采用线程监听socket连接出现界面卡死 使用HttpWebRequest,我如何将一个模拟html的串(含表单)提交到一个asp页? 请专家指导 简单问题,在线等,忙了半天了,晕~~~(c#) 想问一下draw-line()函数的用途?
愚人节也不能这样搞啊
如果能用,正确代码怎么写????
bool exist = false;
foreach(TreeNode node in this.treeView1.SelectedNode.Nodes)
{
if(node.Text==this.textBox1.Text)
{
exist=true;
break;
}
}
if (!exist)
{
MessageBox.Show("子节点可以添加");
return false;
}
else
{
MessageBox.Show("子节点有重复,不能添加!");
return true;
}
之是一个“永真式”,因为你new出来的TreeNode实例不可能存在你选中结点的子结点中,Nodes.Contains()判断的是实例(引用)是否相同,你新new出来的实例肯定不存在,所以永远为false,而false==false永远是true;
没有添加,自然不包含此节点。所以contains一直返回false