#winforms #telerik #radtreeview
#winforms #telerik #radtreeview
Вопрос:
У меня есть winform RadTreeView, который имеет длинные имена для узлов и в небольшой области приложения. Когда я нажимаю флажок рядом с именем узла, чтобы проверить его, узел выбирается, и окно прокручивается вправо, что не позволяет установить флажок, и мы должны прокрутить назад, чтобы проверить узел. Мы можем проверять узлы с длинными именами, если они уже выбраны, но когда вы проверяете узел, который не выбран, он прокручивается. Есть ли способ предотвратить автоматическую прокрутку RadTreeView до конца имени узла? Мы используем последнюю версию, в которой она должна быть исправлена, но это все еще происходит. Спасибо!
Ответ №1:
Чтобы предотвратить автоматическую прокрутку, вы можете применить следующий стиль к 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. Проблема, с которой я сталкиваюсь, заключается в том, что элемент управления автоматически прокручивается до самого конца узла при его выборе. Из-за чего флажок рядом с именем узла не будет установлен. Я все еще хочу видеть полосу прокрутки.
2. Я бы посмотрел, какие варианты доступны через
HScrollBar
Ответ №2:
Я получил ответ от Telerik по этому поводу, и они сказали, что это известная проблема, которая будет рассмотрена в одном из их будущих выпусков. До тех пор вы можете обойти это, создав пользовательские RadTreeView и RadTreeViewElement, унаследовав соответствующий элемент управления / элемент и переопределив некоторые методы и свойства. Метод, который предотвратил бы прокрутку, называется EnsureNodeVisibleHorizontale и является частью элемента древовидного представления. Помимо этого метода вам придется переопределить метод, который создает элемент древовидного представления в RadTreeView, чтобы он возвращал ваш элемент. Два других необходимых переопределения предназначены для механизма тематизации.
Комментарии:
1. Проблема больше не доступна в 3 квартале 2011 года.