TextBox tb = sender as TextBox;
RadioButton tmpRadio = null;
tmpRadio = (sender as RadioButton);

解决方案 »

  1.   

    TextBox tb = sender as TextBox;
    sender 为object类型,上面是专为TextBox,必须合法才能转,否则出错
    tmpRadio 道理一样
      

  2.   


    TextBox tb = sender as TextBox; // as 强制类型转换关键字,将sender转换为TextBox类型
    下面的意思是一样的,转换为RadioButton类型。还有一个判断类型的关键字is。
      

  3.   

    sender是触发器,应该顶上还有一个sender参数,as是类型转换
      

  4.   

    这些语句应该在某控件的事件里边,例如:
            private void button1_Click(object sender, EventArgs e)
            {
                PosTaxSrv.test();        }
    sender就是触发这个事件的控件,但是它是object类型的,需要把它转换成原来的类型。
    是button1的事件触发这个事件的当然是button1,所以sender是Button类型的
    Button tmpRadio = null;
    tmpRadio = (sender as Button);
    这样的语法就是强制类型转换的语法;
      

  5.   

    通俗地说
    转了才可以点出后面的属性
    sender.Text 点不出来吧
    (sender as TextBox).Text 点出来了吧。
      

  6.   

    简单点说,sender是一个不确定类型的对象,是抽象的。只有把它具体了才能使用,就像遍历窗体控件的时候,要判断得到的控件是什么类型一个道理。
      

  7.   

    哦,就是说把 tb 转换成 Textbox,把tmpRadio转化成 RedioButton,也有点 实例化 的味道,可以这样理解吗?
      

  8.   

    不是实例化,这个事例已经存在里,但是因为sender是object,c#是强类型,如果不进行这个强制类型转换,这个事例关于textbox的成员就不能访问,之能访问到object的成员
      

  9.   

    就是你要把 操作者sender转换成你页面上想要操作的对象嘛    
    private void Page_Load(object sender, EventArgs e)
      

  10.   

    类似强制转换,转换为兼容类型。不同于强制转换的是,无法转换时,它不会抛出异常,而是赋值null