在一个表单(F1)上,我有一个按钮,如果我从这个按钮创建另一个表单(我们称之为F2)并显示它,那么没有问题。
但是我想做这样的事情:
我的应用程序中有一个线程正在运行连接,并监听来自服务器的消息。当一条消息到达时,我的主要表单将被注册以获取运行函数的事件。从该函数中,我尝试创建并显示F2类型的表单(空白,未修改任何内容):它会显示,但然后冻结我的应用程序。
更确切地说:
但是我想做这样的事情:
我的应用程序中有一个线程正在运行连接,并监听来自服务器的消息。当一条消息到达时,我的主要表单将被注册以获取运行函数的事件。从该函数中,我尝试创建并显示F2类型的表单(空白,未修改任何内容):它会显示,但然后冻结我的应用程序。
更确切地说:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ConnectionManagerThread.getResponseListener().MessageReceived += Form1_OnMessageReceived;
}
private void Form1_OnMessageReceived(object sender, MessageEventArgs e) {
Form2 f2 = new Form2();
f2.Show();
}
}