如何捕捉Microsoft.Web.UI.WebControls.TreeView的鼠标单击事件?

weixinzhu 2006-09-07 09:05:39
如何捕捉Microsoft.Web.UI.WebControls.TreeView的鼠标单击事件?尤其是对叶子节点的鼠标事件,
我想在鼠标点击treeview的叶子节点的时候做一些事情,小弟刚学web,请各位大哥指教,多谢!
声明:我在treeview的SelectedIndexChange事件中写了一个过程,想实现鼠标单击叶子节点的要实现的功能,可是好像怎么操作也不会触发SelectedIndexChange事件,debug捕获不到,请各位帮忙哦
...全文
276 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixinzhu 2006-09-07
  • 打赏
  • 举报
回复
大哥,那可不行啊,闪动用户会很不爽的,还有别的办法吗
laton 2006-09-07
  • 打赏
  • 举报
回复
呵呵
屏幕会闪动是正常的,很难解决。
laton 2006-09-07
  • 打赏
  • 举报
回复
先把树的树的属性的AutoPostBack设置为true,在事件里面双击selectindexchange,再在.cs里添加事件代码。

private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{
//单击树节点弹出alert,你也可替换为其他事件的代码
Page.RegisterStartupScript("onclick","<script>window.alert('鸟树');</script>");

}


weixinzhu 2006-09-07
  • 打赏
  • 举报
回复
多谢楼上的关注
小弟是菜鸟,刚学web,这是偶的第一个web项目,不会用ajax,也不懂js,现在学习肯定来不及了,谁还有更简单的方法吗?或者能给出更详细的代码,多谢了
zhoulin777(天晴) 的提示AUTOPOSTBACK为TRUE确实是捕捉到事件了,可是屏幕会闪动啊,怎么解决啊
greennetboy 2006-09-07
  • 打赏
  • 举报
回复
你用ajax也可以满足要求
xlshen_lxz 2006-09-07
  • 打赏
  • 举报
回复
一个例子,希望能帮到你:

/// <summary>
/// 节点的选中
/// </summary>
/// <param name="sender">TreeView对象</param>
/// <param name="e">TreeViewClickEventArgs事件的对象</param>
private void tvRight_Check(object sender, Microsoft.Web.UI.WebControls.TreeViewClickEventArgs e)
{
TreeNode tn = ((Microsoft.Web.UI.WebControls.TreeView)sender).GetNodeFromIndex(e.Node);
if(tn.Checked )
{
ChickParentNode(tn);
ChickChildNode(tn);
}
}

/// <summary>
/// 子主节点的选中
/// </summary>
/// <param name="treeNode">TreeNode的对象</param>
private void ChickParentNode(Microsoft.Web.UI.WebControls.TreeNode treeNode)
{
if(treeNode.Parent.GetType() == treeNode.GetType())
{
((Microsoft.Web.UI.WebControls.TreeNode)treeNode.Parent).Checked=true;
ChickParentNode(((Microsoft.Web.UI.WebControls.TreeNode)treeNode.Parent));
}
}

//子节点的选中
private void ChickChildNode(Microsoft.Web.UI.WebControls.TreeNode treeNode)
{
foreach(Microsoft.Web.UI.WebControls.TreeNode tNode in treeNode.Nodes)
{
tNode.Checked=true;
ChickChildNode(tNode);
}
}
zhoulin777 2006-09-07
  • 打赏
  • 举报
回复
用SelectedIndexChange()这个,设置AUTOPOSTBACK为TRUE。
用Microsoft.Web.UI.WebControls.TreeNode node = 树.GetNodeFromIndex(e.Node);
去获得node
伴老思源 2006-09-07
  • 打赏
  • 举报
回复
梅子的,也8错
伴老思源 2006-09-07
  • 打赏
  • 举报
回复
你可以先看看这个http://www.meizz.com/Web/Web.asp
伴老思源 2006-09-07
  • 打赏
  • 举报
回复
很少用它自带的TreeView,
有很多js的都很好用,

自带的效率不高,尤其遇到较低配置的服务器时
weixinzhu 2006-09-07
  • 打赏
  • 举报
回复
楼上的大哥,我用的是dotnet 2003,Microsoft.Web.UI.WebControls.TreeView没有你所说的mouse_click或nodemouse_click,你说的事件在System.Windows.Forms.TreeView中有,可是在web下没有啊,郁闷,
多谢关注
greennetboy 2006-09-07
  • 打赏
  • 举报
回复
应该有mouse_click事件,我记得还有nodemouse_click事件亚
nodemouse_click事件中e.Node,就是单击的Node
zhoulin777 2006-09-07
  • 打赏
  • 举报
回复
在网络是找JS的代码吧!那个不闪

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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