C# WinForms — невозможно ввести некоторые клавиши в TextBox (надстройка CorelDraw)C#

Место общения программистов C#
Ответить
Anonymous
 C# WinForms — невозможно ввести некоторые клавиши в TextBox (надстройка CorelDraw)

Сообщение Anonymous »

Мне не удалось решить странную проблему с вводом TextBox в C#.
Среда
Проект был создан с использованием Надстройка управления, этот тип проекта создает кнопку в строке меню CorelDraw, подобную этой
Изображение

Нажав на эту кнопку, я могу открыть новое окно для управления и контроля функций CorelDraw, автоматизации задач и т. д.
https://marketplace.visualstudio.com/it ... erTemplate
Проблема
Когда я нажимаю кнопку и открываю новый окно, содержащее TextBox, с использованием метода .Show(). Как ни странно, TextBox не работает должным образом, можно вставлять только цифры и определенные буквы, я даже не могу удалить содержимое, нажав клавишу Backspace.
Но если я открою окно с помощью метода .ShowDialog(), все будет работать нормально, и я смогу ввести что угодно в TextBox! Но я не могу заблокировать взаимодействие пользователя (это делает ShowDialog) с окном, расположенным позади (окно CorelDraw), пользователю необходимо получить доступ к окну CorelDraw, не закрывая надстройку, когда ему нужно.
Может ли кто-нибудь сказать мне, что мне не хватает? Или объяснить, почему это происходит? Я очень ценю любую помощь.
Коды
ControlUI.xaml


























ControlUI.xaml.cs (Code Behind)
using ...; // removed here to reduce code
using corel = Corel.Interop.VGCore;

namespace MaisUmaTentativa
{
public partial class ControlUI : UserControl
{
private corel.Application corelApp;
private Styles.StylesController stylesController;

public ControlUI(object app)
{
InitializeComponent();
try
{
this.corelApp = app as corel.Application;
stylesController = new Styles.StylesController(this.Resources, this.corelApp);
}
catch
{
global::System.Windows.MessageBox.Show("VGCore Erro");
}

// handle click in button placed at menu bar
// MainWindow is a WinForm with a TextBox and a Label
btn_Command.Click += (s, e) => {
MainWindow mainWindow = new MainWindow();
mainWindow.ShowDialog();
};
}

private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
stylesController.LoadThemeFromPreference();
}

}
}


Подробнее здесь: https://stackoverflow.com/questions/667 ... draw-addon
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»