Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#WinForms-Can';t在文本框(CorelDraw插件)中键入一些键_C#_Winforms_Add On_Coreldraw - Fatal编程技术网

C#WinForms-Can';t在文本框(CorelDraw插件)中键入一些键

C#WinForms-Can';t在文本框(CorelDraw插件)中键入一些键,c#,winforms,add-on,coreldraw,C#,Winforms,Add On,Coreldraw,用C#中的文本框输入,我无法成功解决一个奇怪的行为 环境 该项目是使用控件插件创建的,这种项目在CorelDraw菜单栏中创建一个按钮,如下所示 单击此按钮,我可以打开一个新窗口来操作和控制CorelDraw功能、自动化任务等 问题 当我单击按钮并使用方法.Show()打开一个包含文本框的新窗口时,奇怪的是,文本框不能正常工作,只能插入数字和特定字母,我甚至不能按backspace删除内容 但是,如果我使用.ShowDialog()方法打开窗口,一切正常,我可以在文本框中键入任何内容!但是我

用C#中的文本框输入,我无法成功解决一个奇怪的行为

环境 该项目是使用控件插件创建的,这种项目在CorelDraw菜单栏中创建一个按钮,如下所示

单击此按钮,我可以打开一个新窗口来操作和控制CorelDraw功能、自动化任务等

问题 当我单击按钮并使用方法
.Show()
打开一个包含文本框的新窗口时,奇怪的是,文本框不能正常工作,只能插入数字和特定字母,我甚至不能按backspace删除内容

但是,如果我使用
.ShowDialog()
方法打开窗口,一切正常,我可以在文本框中键入任何内容!但是我不能阻止用户交互(ShowDialog会这样做),因为窗口放在后面(CorelDraw窗口),用户需要访问CorelDraw窗口,而不需要在需要时关闭插件

谁能告诉我我错过了什么?或者解释为什么会发生这种情况?我真的很感谢你的帮助

密码
ControlUI.xaml


ControlUI.xaml.cs(代码隐藏)

使用…;//删除此处以减少代码
使用corel=corel.Interop.VGCore;
名称空间Maisumatentiva
{
公共部分类ControlUI:UserControl
{
私有corel.Application corelApp;
private Styles.StylesController StylesController;
公共控制用户界面(对象应用程序)
{
初始化组件();
尝试
{
this.corelApp=app作为corel.Application;
stylesController=newstyles.stylesController(this.Resources,this.corelApp);
}
抓住
{
全局::System.Windows.MessageBox.Show(“VGCore Erro”);
}
//位于菜单栏上的控制柄点击按钮
//MainWindow是一个带有文本框和标签的WinForm
btn_命令。单击+=(s,e)=>{
MainWindow MainWindow=新的MainWindow();
mainWindow.ShowDialog();
};
}
已加载私有void UserControl_(对象发送方,RoutedEventArgs e)
{
stylesController.LoadThemeFromPreference();
}
}
}

正如@Jimi所说,问题实际上是消息循环没有在我的
主窗口中启动,这是一个表单


我刚刚放置了
应用程序在主窗口窗体的构造函数中,文本框错误消失。感谢您的帮助
ShowDialog()
启动消息循环。假设
MainWindow
是一个窗体而不是一个窗口。你这里有所有WPF的东西。无论如何,您需要以某种方式启动消息循环
Application.Run()
可以。谢谢你,它工作得很好,你不知道这个简单的技巧是如何帮助我的!