На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> c# WinForms: проблемы с вызовом конекстного меню после добавления Drag-Drop , контекстное меню у treeView запускается только после второго нажатия правой кнопки мыши.
    Проблема с запуском контекстного меню у treeView появилась после того, как treeView на форме стал использоваться, как источник данных в процедуре перетаскивания мышью Drag-Drop, реализованными стандартными средствами MicroSoft.

    В обработчик нажатия был добавлен следующий код:

    private void treeView_MouseDown(object sender, MouseEventArgs e)
    {

    if (e.Button == System.Windows.Forms.MouseButtons.Left)
    {
    TreeNode node = treeView.GetNodeAt(e.X, e.Y);


    if (node != null)
    {
    // ... некоторые предварительные вычисления, не влияющие на элементы формы, а меняющие Tag у node

    //Проблемы появились после добавления этой стандартной функции от MicroSoft
    treeView.DoDragDrop(node, DragDropEffects.Copy);


    //Это старый код, который должен остаться и при котором все работало
    treeView.SelectedNode = node;
    }
    }

    }



    Сам Drag-Drop отрабатывается без проблем.

    Если важно, то на treeView_AfterSelect реализован обработчик, заполняющий элементы формы информацией

    private void treeView_AfterSelect(object sender, TreeViewEventArgs e)
    {
    TreeNode currentNode = treeView.SelectedNode;
    if (currentNode != null)
    {
    FillAll(currentNode);
    }

    }


    Подскажите, пожалуйста как решить эту проблему
      К сожалению, похоже что по части программирования форум мертвый. Нашел решение здесь http://ru.stackoverflow.com/questions/6009...ления-drag-drop
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0145 ]   [ 16 queries used ]   [ Generated: 2.05.24, 15:31 GMT ]