我想在程序中实现若某一特定的字符串内容发生改变则触发某个事件应该怎样做?

解决方案 »

  1.   

    那个字符串是哪里的,请具体说明。另:C# 的 string 是不可变的,只有 StringBulider 是可变的。
      

  2.   

    private string strName ="";
    public string Name
    {
    set
    {
      if(value !=strName)
    {
       //触发的事件;
         strName =value;
    }
    }
    }
      

  3.   

    cs? bs? or as????????????
      

  4.   


            static void Main(string[] args)
            {
                Custom c = new Custom();
                c.ch += new Changed(delegate() { Console.WriteLine("Changed"); });
                c.Str = "123";
                c.Str = "234";
                c.Str = "234";
                #endregion        }        delegate void Changed();
            class Custom
            {
                public event Changed ch;
                private string str;
                public string Str
                {
                    get { return str; }
                    set
                    {
                        if (str != value)
                        {
                            if (ch != null)
                                ch();
                        }
                        str = value;
                    }
                }
            }
      

  5.   

    我的程序里用到了多线程,我想把线程里的信息实时传给窗体中的listbox,
    我用了委托invoke的方法都不成功,
    我就像能不能设一个字符串全局变量,
    当这个字符串发生变化时,在窗体中就把新值显示在listbox中,
    实在是没有办法的办法
      

  6.   

    为什么invoke不成功?我觉得用委托是对的啊
      

  7.   

    因为string里没有changed这个消息