【发布时间】:2013-11-20 10:33:40
【问题描述】:
我正在使用 jabber-net 开源库开发一个聊天应用程序.. 我的目标是在消息到来时显示一个表单(聊天窗口)。 但是当我使用这段代码时,Form出现在任务栏中,,,,没有完美呈现...... 看起来像这样...更多我只能在将鼠标悬停在任务栏上的图标时才能看到表单(Hail Windows 7)...任何形式都是这样的...
我的代码是这样的......
public jabber.client.JabberClient jabberClient1;
jabberClient1.User = UserName;
jabberClient1.Password = Password;
jabberClient1.Resource = resource;
jabberClient1.AutoRoster = true;
jabberClient1.OnMessage += new MessageHandler(jabberClient1_OnMessage);
private void jabberClient1_OnMessage(object sender, jabber.protocol.client.Message msg)
{
try
{
chatWindow chw = new chatWindow();
chw.Left = 0;
chw.Top = 0;
chw.TopMost = true;
//chw.LoadChat(msg.From.User, msg.From.Bare, "0");
//chw.SetMessage(msg);
chw.Show();
}
}
【问题讨论】:
-
使用
Control.BeginInvoke或Control.Invoke方法将此操作重定向到主应用程序线程。jabberClient1_OnMessage可能在任意线程上下文中被调用。
标签: c# multithreading winforms thread-safety xmpp