Обрабатывает исчезновение ключевого слова в контрольной вырезке / вставке - PullRequest
2 голосов
/ 22 июля 2010

Когда я вырезал некоторые элементы управления в окне дизайнера и вставил их в другой контейнер, дескрипторы клавиш исчезают из кода.

Если в форме есть btnOK и событие клика обрабатывается следующим образом:

Private Sub btnOK_Click(...) Handles btnOK.Click

и затем в конструкторе я разрезаю кнопку и вставляю ее куда-то еще, часть Ручки просто исчезает, живя методом.

Я понимаю, почему это происходит, вырезать так, как будто это удаление элемента управления, но тихое удаление частей кода нехорошее поведение из редактора.

Есть ли обходной путь, предпочтение или плагин, чтобы добавить предупреждение перед тем, как связываться с моим кодом? Или, что еще лучше, оставить обработчиков и оставить удаление для меня?

Ответы [ 3 ]

1 голос
/ 05 марта 2015

Для процветания я хотел бы добавить комментарий к этой проблеме.Мне часто нужно заменить кнопки в моих системах.Эта ноющая «особенность» всегда увеличивает мою рабочую нагрузку.Я минимизирую влияние, переходя к коду и меняя все вхождения дескрипторов с помощью дескрипторов, комментируя это утверждение.Я обрезаю старые кнопки, вставляю новые кнопки, затем раскомментирую оператор Handles.Это быстрый способ обойти проблему и позволяет мне быстро вносить свои изменения.Надеюсь, это поможет.

1 голос
/ 22 июля 2010

Когда вы удаляете элемент управления из своей формы, IDE автоматически удаляет все дескрипторы из вашего кода и оставляет ваш код без изменений:

// Previously:
Private Sub btnOK_Click(...) Handles btnOK.Click

    MessageBox.Show("hello world")

End Sub

// Now:
Private Sub btnOK_Click(...)

    MessageBox.Show("hello world")

End Sub

Когда вы вставляете свой элемент управления и (в случае кнопки) дважды щелкаете по нему, чтобы прикрепить некоторый код, IDE обнаруживает, что уже есть функция с именем btnOK_Click, и создает для вас новую функцию с именем btnOK_Click_1 , Это поведение, которое вы не можете изменить.

Что вы можете сделать, это вставить свой элемент управления, а затем перейти в окно свойств, переключиться на события, найти событие Click и использовать раскрывающийся список для выбора исходной функции.

Кроме того, вы можете просто перейти к своему коду и добавить ключевое слово Handles btnOK.Click в конце исходной функции.

0 голосов
/ 06 января 2012

Лучший метод, который я нашел, был , а не вырезать / вставить вообще в DotNet.Вы должны быть в состоянии перемещать свои элементы управления в и из других элементов управления без необходимости вырезать / вставить.Bring to Front и Send to Back также пригодятся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...