奇怪的TreeView(WinForms)自动选中问题
2009-11-23 11:26
351 查看
TreeView控件在以下情况下会引发非期待中的AfterSelect事件:
原始状态为未选中任何结点
TreeView内容较多,出现了竖向滚动条
最小化TreeView所在窗体
然后最大化此窗体
步骤4完成后,TreeView会自动选中屏幕上显示的第一个节点,并引发AfterSelect事件。
如果你不想处理此事件,可以检查TreeViewEventArgs.Action, 这种情况下Action的值应该是Unknown。所以微软自己在MSDN Library里对TreeViewEventArgs的示例代码就是这样的:
protected override void OnAfterSelect(TreeViewEventArgs e)
{
// Confirm that the user initiated the selection.
// This prevents the first node from expanding when it is
// automatically selected during the initialization of
// the TreeView control.
if (e.Action != TreeViewAction.Unknown)
{
if (e.Node.IsExpanded)
{
e.Node.Collapse();
}
else
{
e.Node.Expand();
}
}
// Remove the selection. This allows the same node to be
// clicked twice in succession to toggle the expansion state.
SelectedNode = null;
}
只是只口未提刚才我们谈到的这种奇特形为。。。
原始状态为未选中任何结点
TreeView内容较多,出现了竖向滚动条
最小化TreeView所在窗体
然后最大化此窗体
步骤4完成后,TreeView会自动选中屏幕上显示的第一个节点,并引发AfterSelect事件。
如果你不想处理此事件,可以检查TreeViewEventArgs.Action, 这种情况下Action的值应该是Unknown。所以微软自己在MSDN Library里对TreeViewEventArgs的示例代码就是这样的:
protected override void OnAfterSelect(TreeViewEventArgs e)
{
// Confirm that the user initiated the selection.
// This prevents the first node from expanding when it is
// automatically selected during the initialization of
// the TreeView control.
if (e.Action != TreeViewAction.Unknown)
{
if (e.Node.IsExpanded)
{
e.Node.Collapse();
}
else
{
e.Node.Expand();
}
}
// Remove the selection. This allows the same node to be
// clicked twice in succession to toggle the expansion state.
SelectedNode = null;
}
只是只口未提刚才我们谈到的这种奇特形为。。。
相关文章推荐
- TreeView中父子节点的checkbox的同时选中问题,js控制.
- 问题-在TreeView使用时,发现选中的树节点会闪烁或消失
- 解决treeview未选中时,默认选中首个根节点的问题!
- 一次修复电脑的奇怪方法---解决电脑自动休眠问题
- 修改 MZTreeView 赋权节点父节点选中子节点自动选中的问题
- 解决dedecms编辑器选中图片再点击自动排版时,在ie中会崩溃问题(原因未明)
- TreeView选中节点的问题(转)
- delphi学习treeview中从表列名和数据添加为目录并双击自动选中
- TableViewCell 中 UILabel的backgroud 选中时自动Clear的问题
- treeview checkboxes的奇怪有关问题
- 关于vs2010 用鼠标选中代码自动重启的问题
- 奇怪的Ubuntu的自动改小写的问题
- 关于BCB 的Treeview 选中节点高亮有关问题
- Qt TreeView中的排序问题和改变选中的item后更新出错的问题
- TreeView 中CheckBox级联选中问题
- Xshell用鼠标选中一段文字后自动换行的问题
- asp:Treeview点选一个节点时自动全部选中(或全部不选中)子点节,同时判断选中父节点
- 解决虚拟机中文本选中后自动被复制到剪贴板的问题
- dxDBTreeView自动删除数据问题
- Delphi关于DBGrid选中行自动变色的问题