客户端订阅服务器事件,由服务器发送一个字符窜到客户端.发送成功
当服务器发送时会触发客户端的一个事件,客户端在触发这个事件时,将字符传到当前窗体的控件没问题.
但如果客户端将这个消息发送给一个消息窗体(即时通)时,这个消息窗体会死,但主窗体没什么问题.
//触发这个事件
void Wrapper_BroadCastEvent(string info)
{
   textBox1.Text=Info;  //这个没有问题
    form1 frm = new form1(Info);  // 窗体form1上有个TextBox控件,构造是传入一个string,在Load事件中将构造的
                                       string传给TextBox控件.
    frm.TopMost=true;
    frm.Show();         //这个弹出后是死的            
}frm弹出后是死的,大家有没有遇到过这种情况,谢谢了

解决方案 »

  1.   

    个人认为和Remoting没有什么关系,很可能是你的form1这个类的设计问题。你仔细检查一下Form1的代码。
      

  2.   

    Form没有什么其他的代码呀private string strInfo = "";
    public Form1(string strInfo)
    {
        InitializeComponent();
        this.strInfo = strInfo;
    }
    private void Form1_Load(object sender, EventArgs e)
    {
       textBox1.Text=this.strInfo;
    }
    窗体只有这个代码
      

  3.   

    如果不是服务器触发的事件,也没有问题(本地一个单击事件).还有一个就是,如果设置窗体的属性ShowInTaskbar(不在任务栏显示)为False时,本地事件也没有什么问题,但服务器触发的事件,事件是触发了,就连窗体都不弹出
      

  4.   

    在这个事件中打开任何窗口都是死的,即便是新建的窗口,没有任何非系统生成的代码Form1.ShowDialog(); 如果是有模式弹出,就可以弹出来,但关才这个Form1时,连主窗体也跟着关闭
      

  5.   

    楼主不厚道,解决了也不道出来。
           private delegate void FormShowInvokeDelegate();
            private void ShowMessage(string caption, string message)
            {
                this.BeginInvoke(new FormShowInvokeDelegate(delegate()
                {
                    frmMessage frmmsg = new frmMessage();
                    frmmsg.Caption = caption;
                    frmmsg.Message = message;
                    frmmsg.Show();
                }));
            }这个方法写在主窗体中