难题, 跨线程窗口调用!
在给客户做的一个程序中附带一个聊天程序,   若先在主窗口创建聊天窗口,   一切正常,   但消息触发创建的窗口,   主程序在调用时,   出现跨线程控件调用错误,   怎么处理,   谢谢拉!!!!!
------解决方案--------------------你这里边还有一个问题:   
 生成ChatRoom也需要在主线程上,也就是说 CreateChatRoom()也要在主线程上运行,这样改:   
 public void ShowChatRoom() 
 {   
 //myControl: 是一个主线程上生成的Control 
 /在这里实际上不用判断 if (room.InvokeRequired) 
 myControl.Invoke(new EmptyMethod(CreateChatRoom));   
 }     
 //把Show(); 和 BringToFront(); 也加到这里边去. 
 public ChatRoom CreateChatRoom() 
  {           
             if (chatRoom == null) 
             { 
                 chatRoom = new ChatRoom(repeater.UserID, repeater.UserName, server); 
                 chatRoom.Disposed += new EventHandler(chatRoom_Disposed); 
                chatRoom.Show();  
                 chatRoom.BringToFront(); 
             } 
             return chatRoom;  
 } 
------解决方案--------------------那就不要用show了。就这样 
 ChatRoom room = CreateChatRoom(); 
 room.Show(); 
 Application.Run(room);
------解决方案--------------------是不是 另外一个线成的方法修改住线程的控件?  那 的转回主线程执行
------解决方案--------------------用一个委托沟上.然后到主线程执行
------解决方案--------------------把需要的资源作成全局的 就可以了   
 或者用REF把对象传进去啊 
 这么简单的问题