C#中怎么删除treeview中自己选中的节点? tv.SelectedNode.Remove() winfrom 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TreeView2.Nodes.Remove(del);好像是这样的吧.不过鼠标点取的那个结点怎么获得?郁闷中. 获取当前选中的节点:Tree.GetNodeFromIndex(Tree.SelectedNodeIndex.ToString()); private void Button1_Click(object sender, System.EventArgs e) { TreeNode del = new TreeNode(); del = TreeView2.GetNodeFromIndex(TreeView2.SelectedNodeIndex); TreeView2.Nodes.Remove(del); }但是这断代码它提示说找不到啊.不对啊.那要怎么样改呢?> private void Button1_Click(object sender, System.EventArgs e) { TreeView2.Nodes.Remove(TreeView2.SelectedNode); } 根本不行.TreeView2.SelectedNode根本就没有.用这个编译都不行. 用TreeView的MouseUp事件就可以得到你想要的效果,代码如下:(其中leftTreeView是实例化的TreeView对象)private void leftTreeView_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { if(e.Button == System.Windows.Forms.MouseButtons.Left) { if ( leftTreeView.GetNodeAt(e.X,e.Y) != null) { leftTreeView.SelectedNode = leftTreeView.GetNodeAt(e.X,e.Y); } } } 在TreeView 的click事件中也可取的当前节点的信息,在删除之即可 leftTreeView.GetNodeAt(e.X,e.Y);leftTreeView.GetNodeAt(e.X,e.Y) 这些我的.net上都不能用.555.但msdn上都可以用.是不是我的没装好啊.一大清早的,我想砸机器了. int X,Y;private void treeView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { X=e.X; Y=e.Y; }用treeview的mousedown事件获取鼠标位置TreeNode nodes=new TreeNode();nodes=treeView1.GetNodeAt(X,Y)获取该位置的节点treeView1.Nodes.Remove(nodes);删除该节点 不行啊.像GetNodeAt()这些方法根本就没有.那都是form里面的web里面根本就没有这些方法和类.迷茫中.更烦的是用C#写的MSDN中根本就没有.迷芒. 哦,我还以为是form里面的,web里面应该有相应的方法吧 web里面例子太少了,都没有什么完全没什么资料.太郁闷了. public void Delete() { string msg = "您确定要删除选定的记录吗?"; if(MessageBox.Show(msg, "测试程序", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No ) return ; try { if(this.treeView.SelectedNode != null) { //treeView.SelectedNode=treeView.Nodes[i]; TreeNode tn = this.treeView.SelectedNode; //选中节点 //essageBox.Show(tn.Text, "登录", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning ); //连接到数据库 string strCon = @"Integrated Security=SSPI;Packet Size=4096;Data Source=localhost;Tag with column collation when possible=False;Initial Catalog=LD;Use Procedure for Prepare=1;Auto Translate=True;Persist Security Info=False;Provider=""SQLOLEDB.1"";Workstation ID=LI;Use Encryption for Data=False"; OleDbConnection myConn = new OleDbConnection ( strCon ) ; myConn.Open ( ) ; string strDele = "DELETE FROM terminal WHERE terminal_name= '"+tn.Text+" '" ; OleDbCommand myCommand = new OleDbCommand ( strDele , myConn ) ; //从数据库中删除指定记录 myCommand.ExecuteNonQuery () ; //从DataSet中删除指定记录 this.dsT.Tables [ "terminal" ] . Rows [ mybind.Position ] . Delete ( ) ; this.dsT.Tables [ "terminal" ] . AcceptChanges ( ) ; treeView.Nodes.Remove(treeView.SelectedNode); myConn.Close ( ) ; } else { MessageBox.Show("请选中一个终端进行操作","测试系统",MessageBoxButtons.OK,MessageBoxIcon.Information ); } } catch ( Exception ed ) { MessageBox.Show ( "删除记录错误信息: " + ed.ToString ( ) , " 测试系统",MessageBoxButtons.OK,MessageBoxIcon.Information ) ; } } TreeNode tNode = TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex);if(tNode.Parent == TreeView1){ TreeView1.Nodes.Remove(tNode);}else{ ((TreeNode)tNode.Parent).Nodes.Remove(tNode);} 关于图片存入数据库 期末作业 求大侠帮忙 由byte[]生成.wav文件 如何在保留原有内容的情况下,向记事本写入新记录? 关于水晶报表的问题 关于进程间传递的问题! 如何高效率的把表中的数据写到excel中? 数据导出成EXCEL的时候出现这个是什么情况 把两个byte型8位整数“按位与”到第三个byte数中 谢谢!!因为我想动态地在一个空白的form上添加1个label,1个txtbox,请问:不用控件用代码怎么实现? .net里的那个C++有没有人用它呀,是不是也要FrameWork的支持才能运行,效率又如何 怎样让页面即时读取最新文件而不是读取浏览器里的缓存文件??
Tree.GetNodeFromIndex(Tree.SelectedNodeIndex.ToString());
{
TreeNode del = new TreeNode();
del = TreeView2.GetNodeFromIndex(TreeView2.SelectedNodeIndex);
TreeView2.Nodes.Remove(del);
}
但是这断代码它提示说找不到啊.不对啊.那要怎么样改呢?>
{
TreeView2.Nodes.Remove(TreeView2.SelectedNode);
}
private void leftTreeView_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(e.Button == System.Windows.Forms.MouseButtons.Left)
{
if ( leftTreeView.GetNodeAt(e.X,e.Y) != null)
{
leftTreeView.SelectedNode = leftTreeView.GetNodeAt(e.X,e.Y);
}
}
}
leftTreeView.GetNodeAt(e.X,e.Y)
这些我的.net上都不能用.555.但msdn上都可以用.是不是我的没装好啊.一大清早的,我想砸机器了.
private void treeView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
X=e.X;
Y=e.Y;
}
用treeview的mousedown事件获取鼠标位置TreeNode nodes=new TreeNode();
nodes=treeView1.GetNodeAt(X,Y)
获取该位置的节点treeView1.Nodes.Remove(nodes);
删除该节点
{
string msg = "您确定要删除选定的记录吗?";
if(MessageBox.Show(msg, "测试程序", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No )
return ;
try
{
if(this.treeView.SelectedNode != null)
{
//treeView.SelectedNode=treeView.Nodes[i];
TreeNode tn = this.treeView.SelectedNode; //选中节点
//essageBox.Show(tn.Text, "登录", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning );
//连接到数据库
string strCon = @"Integrated Security=SSPI;Packet Size=4096;Data Source=localhost;Tag with column collation when possible=False;Initial Catalog=LD;Use Procedure for Prepare=1;Auto Translate=True;Persist Security Info=False;Provider=""SQLOLEDB.1"";Workstation ID=LI;Use Encryption for Data=False";
OleDbConnection myConn = new OleDbConnection ( strCon ) ;
myConn.Open ( ) ;
string strDele = "DELETE FROM terminal WHERE terminal_name= '"+tn.Text+" '" ;
OleDbCommand myCommand = new OleDbCommand ( strDele , myConn ) ;
//从数据库中删除指定记录
myCommand.ExecuteNonQuery () ;
//从DataSet中删除指定记录
this.dsT.Tables [ "terminal" ] . Rows [ mybind.Position ] . Delete ( ) ;
this.dsT.Tables [ "terminal" ] . AcceptChanges ( ) ;
treeView.Nodes.Remove(treeView.SelectedNode);
myConn.Close ( ) ;
}
else
{
MessageBox.Show("请选中一个终端进行操作","测试系统",MessageBoxButtons.OK,MessageBoxIcon.Information );
}
}
catch ( Exception ed )
{
MessageBox.Show ( "删除记录错误信息: " + ed.ToString ( ) , " 测试系统",MessageBoxButtons.OK,MessageBoxIcon.Information ) ;
}
}
if(tNode.Parent == TreeView1)
{
TreeView1.Nodes.Remove(tNode);
}
else
{
((TreeNode)tNode.Parent).Nodes.Remove(tNode);
}