0

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

4

2 回答 2

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; 
} 
于 2011-10-14T14:41:42.710 回答
0

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

于 2011-10-18T14:27:32.270 回答