Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как снять Select с TreeNode?


Автор: Dimyan 15.5.2004, 09:11
Как снять Select с TreeNode, при клике по пустому месту TreeView?

Автор: Kurt 15.5.2004, 22:26
Так.. Ну что тут можно предложить?..
Попробуй вот что.
Обработай, допустим, MouseUp (ну или что-нибудь типа этого..) - определяй, кликнул ли ты на узел дерева (GetNodeAt()..), если нет - снимай выделение.
Короче, вот пример, чтоб понятнее было:

C#.NET
Код

 private void treeView1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
 {
  if (this.treeView1.GetNodeAt(e.X,e.Y) == null)
  {

   this.treeView1.SelectedNode = null;
  }
 }


VB.NET
Код

   Private Sub Tree_OnMouseUp(ByVal sender As Object, ByVal e As MouseEventArgs)
       If (Me.TreeView1.GetNodeAt(e.X, e.Y) Is Nothing) Then
           Me.TreeView1.SelectedNode = Nothing
       End If
   End Sub


Managed C++.NET
Код

private: System::Void treeView1_MouseUp(System::Object *  sender, System::Windows::Forms::MouseEventArgs *  e)
   {
    if (this->treeView1->GetNodeAt(e->X,e->Y) == NULL)
    {
     this->treeView1->SelectedNode = NULL;
    }
   }


VJ#.NET
Код

private void treeView1_MouseUp (Object sender, System.Windows.Forms.MouseEventArgs e)
{
 if (this.treeView1.GetNodeAt(e.get_X(),e.get_Y()) == null)
 {
  this.treeView1.set_SelectedNode(null);
 }
}


Вот. Тут, конечно, может быть немного косой метод снятия выделения (присваивание null SelectedNode), но это не принципиально.
Похоже?.. smile.gif

Автор: Dimyan 16.5.2004, 07:59
Цитата
Похоже?..


Более того, это именно то что надо ;)
Сасибо

Автор: Alex91 10.6.2012, 10:31
 для delphi можете подсказать? или аналог компонента

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)