我用代码动态创建了一个textbox组:private TextBox[] Txt = new TextBox[5];
private void form_Load(object sender, EventArgs e)
        {
            //加载结构
           LoadStruct();
        }
private void LoadStruct()
{ ······
  for (i = 0; i < 5; i++)
{
 Txt[i].Location = new System.Drawing.Point(20,35*i+25)
}
现在我想给Txt[0]写textchange事件,该怎么做?麻烦各位大虾帮帮小弟!

解决方案 »

  1.   

           private void LoadStruct()
            {
                TextBox[] Txt = new TextBox[5];            this.SuspendLayout();
                for (int i = 0; i < 5; i++)
                {
                    Txt[i] = new TextBox();
                    Txt[i].Location = new System.Drawing.Point(20, 35 * i + 25);                Txt[i].TextChanged += new EventHandler(MyTextChanged);
                }            this.Controls.AddRange(Txt);            this.ResumeLayout();
            }        private void Form1_Load(object sender, EventArgs e)
            {
                //加载结构
                LoadStruct();
            }        private void MyTextChanged(object sender, EventArgs e)
            {
                MessageBox.Show((sender as TextBox).Text);
            }
      

  2.   

    你的控件名.TextChange+=
    这样就会出来一个事件委托,按两下Tab键就帮你搞定,直接写逻辑代码就好
      

  3.   

    自定义一个事件类
    Public Class  TextChange
    {
      Public string Text{get;set;}     //要传递的参数,可以根据自己需要定义
      Public Class Txt[0]TextChangedArgs:EventArgs
      {
         Public Txt[0]TextChangedArgs(string text)
           {
              this.Text=text;
            }
       }
      Public void Delegage TextChangedHandler(object sender,Txt[0]TextChangedArgs e);  //委托
      Public event TextChangedHandler Txt[0]TextChanged;                        //事件
      Protected virtual OnTextChanged(Txt[0]TextChangedArgs e)
      {
         if(this.Txt[0]TextChanged ==null)
          {
            Txt[0]TextChanged(this,e);
          }
       }
       Public void RaiseTxt[0]TextChanged()   //事件触发函数
       {
           string temp=string.Empty;      //根据你的实际情况给属性赋值
           //…… 你需要触发该事件的情况或原有//
           Txt[0]TextChangedArgs ttc=new Txt[0]TextChangedArgs(temp);
            OnTextChanged(ttc);
        }
    }
      Txt[0]TextChanged+=……            //调用你的响应函数进行处理即可。
      

  4.   

    +1好像从C#3.0开始就直接给事件对应的事件处理方法的方法名就可以了。
    如下:
     Txt[i].TextChanged +=  MyTextChanged;