防止具有长节点名称的radtreeview上的水平自动滚动

时间:2011-10-14 14:37:07

标签: winforms telerik radtreeview

我有一个winform RadTreeView,它具有节点和应用程序的一小块区域的长名称。当我单击节点名称旁边的复选框进行检查时,节点会被选中并且窗口向右滚动,这会阻止选中复选框,我们必须向后滚动以检查节点。我们可以检查具有长名称的节点,只要它已被选中,但是当您检查未选择的节点时,它会滚动。反正是否阻止RadTreeView自动滚动到节点名称的末尾?我们正在运行最新版本,它应该被修复,但它仍在发生。谢谢!

2 个答案:

答案 0 :(得分:0)

要防止自动滚动,可以将以下样式应用于TreeView:

<telerik:RadTreeView runat="server" style="overflow:hidden;" ... />

有关详细信息,请参阅此文章:
http://www.telerik.com/support/kb/aspnet-ajax/treeview/controlling-radtreeview-scrollbars-visual-appearance.aspx

修改

对于WinForms,将以下内容添加到您的代码隐藏中:

public Form1() 
{ 
    InitializeComponent(); 

    this.radTreeView1.HScrollBar.VisibleChanged += new EventHandler(HScrollBar_VisibleChanged); 
} 

void HScrollBar_VisibleChanged(object sender, EventArgs e) 
{ 
    this.radTreeView1.HScrollBar.Visible = false; 
} 

答案 1 :(得分:0)

我收到了Telerik的回复,他们说这是一个已知的问题,将在未来的一个版本中解决。在此之前,您可以通过继承相应的控件/元素并覆盖某些方法和属性来创建自定义RadTreeView和RadTreeViewElement来解决此问题。阻止滚动的方法称为EnsureNodeVisibleHorizo​​ntale,它是树视图元素的一部分。除了这个方法之外,您还必须覆盖在RadTreeView中创建树视图元素的方法,以便它返回您的元素。另外两个必要的覆盖是用于主题机制。