foreach( Control ctl in this.Controls )
{
  if( typeof( ctl ) == TextBox )
    ((TextBox)ctl).forecolor = ...;
}

解决方案 »

  1.   

    for(int i=0;i<this.Controls.Count;i++)
    {
        if(this.Controls[i].GetType().ToString()=="System.Windows.Forms.TextBox"
        {
             TextBox txt=(TextBox)this.Controls[i];
             this.txt.forecolor=XXX;
        }
    }
    上面是个比较笨的办法,好的办法是你自己创建一个组件,继承自System.Windows.Forms.TextBox;
    然后在构造函数中给他添加forecolor属性,
    当然你窗体上的TextBox控件要用你自定义的了!:)
      

  2.   

    如何添加自定义控件:
    在项目中添加新项,选择组件类,然后修改这个组件类所继承德父类为System.Windows.Forms.TextBox;
    直接在这个组件类的构造函数中定义他的forecolor属性;
    假设你的组件类叫做:ForeColorTextBox;
    你在窗体中可以用他代替原来的TextBox;
      

  3.   

    龙人,你的 代码怎么老是报下面的错误
    D:\JZHtax\FormDF.cs(3055): 找不到类型或命名空间名称“ctl”(是否缺少 using 指令或程序集引用?)
    是第二行的ctl
      

  4.   

    storm97(风暴不再) 
    你的也通过不了啊
    txt没有定义
      

  5.   

    把this.txt.forecolor=XXX;改成:txt.forecolor=XXX;就好了,刚才忘了删掉this了!