Простая проблема (я думаю): Я хочу, чтобы иметь возможность вызвать метод щелчка на предопределенном объекте, в частности, кнопку bindingNavigatorDeleteItem
на стандартном C# BindingNavigator
. Мне нужно перехватить удаление, чтобы я мог проверить, что запись разрешена для удаления. Если это так, я хочу вызвать вышеупомянутое событие click, которое делает хорошую работу по удалению указанной записи. Если запись не подходит для удаления, я хочу прервать удаление.Запросить метод щелчка кнопки программно
Инжиниринговая мой коллега говорит, что я просто добавить еще одну кнопку в ToolStrip и использовать его метод мыши (который, конечно же, я может добраться до), чтобы проверить записи права и вызвать оригинальную кнопку Удалить в случае необходимости ,
Если есть другой, лучший способ, пожалуйста, передайте его.
Я попробовал метод «PerformClick()» и ... ничего не происходит! Есть ли какая-то другая подготовка, которую я должен выполнить до того, как действительно выполнит метод PerformClick()? Помощь, которая приходит с этим методом, - это не то, что вы бы назвали «информативным» - это единственная строка текста, которая гласит: «Активирует элемент инструментальной панели, когда он щелкнут мышью» - как я уже сказал, не очень полезен. Мне, должно быть, недостает чего-то, поскольку я пытался, успешно, вызвать метод через Reflection (благодаря другой публикации в StackOverflow), но элегантность PerformClick() - это то, что я ищу. Не беспокойтесь о других вещах. – Bruce
Ничего. «Блестящие» программисты в MS решили, что если кнопка не была видна, ее функциональность не нужна, поэтому ... PerformClick работает только тогда, когда кнопка включена и видна (получена из исходного кода) - идите в цифру! – Bruce
Спасибо за добавление этого комментария. У меня возникла аналогичная проблема. Я не чувствовал необходимости фактически показывать свой контроль во время модульного тестирования ... и поэтому кнопка не была видна, и ничего не произошло! –