Member 14625136 Ответов: 1

VSTO делает текстовое поле удаляемым во время выполнения


Привет,

как я могу сделать текстовое поле удаляемым пользователем во время выполнения, без
использование режима проектирования?
Пользователь должен иметь возможность выбрать текстовое поле и удалить его с помощью клавиши "удалить".
Я использую надстройку C# VSTO Word в Visual Studio.
Я был бы рад любому ответу!

Что я уже пробовал:

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

1 Ответов

Рейтинг:
0

RickZeeland

См. раздел "добавление и удаление элементов управления в активном документе" здесь: Добавление элементов управления в документ во время выполнения в надстройке VSTO- Visual Studio | Microsoft Docs[^]

Обнаружение клавиши Delete из события нажатия клавиши не будет работать, но вы можете использовать Клавиша вниз вместо. Вот вам пример: Событие нажатия клавиши в C#[^]
Удаление текстового поля в этом событии - не очень хорошая идея, но, возможно, вы можете установить .Видимый свойство значение false.


Member 14625136

Спасибо Вам за ответ!
Но я не хочу, чтобы кнопка (или что-то еще) удаляла текстовое поле, пользователь должен иметь возможность выбрать текстовое поле и удалить его с помощью клавиши "Del".
Таким образом, текстовое поле должно вести себя так же, как и исходное текстовое поле Word.

Dave Kreskowiak

Как вы собираетесь сделать это без режима проектирования?

Щелчок в текстовом поле установит фокус на текстовое поле и поместит каретку. Нажатие клавиши DEL приведет к удалению символа, на котором находится каретка, а не к удалению текстового поля.

Без режима проектирования для изменения режима взаимодействия с текстовым полем невозможно определить разницу между использованием текстового поля и его проектированием.