永发信息网

c# 中TextBox tb = (TextBox)sender表示?

答案:6  悬赏:40  手机版
解决时间 2021-03-31 21:54
c# 中TextBox tb = (TextBox)sender表示?
最佳答案
sender是一个表示引发该事件的对象,但类型不限,所以被定义为object类型。
如果需要访问这个对象的属性,就需要将它转换到原来的类型,可以使用强制转换。

TextBox tb = (TextBox)sender;
string str=tb.Text; //就可以获得它的Text属性
//而string str=sender.Text;就错了,因为sender是object,没有Text属性

再教你一点:as 关键字
像这种用法更推荐用as关键字写:
Textbox tb = sender as Textbox;
唯一的不同是你这种写法转换失败会引发异常,而这种写法转换失败tb的值为null。如果转换失败可能因为引发者不是Textbox类型,就无法转换。

----------------------------------------------------------------
hxx007ookk的意见我表示反对,试问这个框架为什么决定事件的引发者要被定义为object?你知道强制转换是一种特殊的函数,如果采取转换是损失效率的,为什么不直接声明为Textbox类型?原因在于是为了提供一种灵活度。sender可以不是Textbox类型,虽然你说的是一般的情况,但不是全部。开发一些应用程序过程中我就用到过。从事件角度讲这个函数是某个Textbox对象的TextChanged事件处理函数。然而也可以看作一个普通的函数,实际上谁都可以调用它,只要你愿意。Right?
全部回答
就是 吧sender 强制转换成 TEXTBOX对象
你看下 SENDER是什么
事件的发送转换成控件
我们知道:textbox tx=new textbox()这是声明一个新的textbox。而sender是在事件中的操作对象。你可以这样理解:
TextBox tb = (TextBox)sender声明一个目标对象。
应该有个object sender参数,sender就是触发当期事件的控件
TextBox tb = (TextBox)sender
就是把sender强转成textbox类型
不是把事件转成控件。事件怎么转成控件??
sender就是触发当期事件的控件,是个OBJECT,你要用到当前的控件必须转成TEXTBOX才能用啊,比如取到textbox的text属性的值,就必须把sender 强转成textbox类型,才能取到text的值啊。TextBox tb = (TextBox)sender 然后 tb.Text就能取到了
不是 sender是txtIPn_TextChanged方法的参数
就是引发这个事件的那个控件的应用
TextBox tb = (TextBox)sender;
是强制类型转换 这个地方的sender本身就是TextBox类型的
有问题hi我
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
碱水使用日期以过 还可以继续用吗
女尊国的GL来客小说txt全集免费下载
化学书上说柠檬是碱性食物,为什么很多人都说
亳州传销能挣24.96万的是什么
我而被狗咬了,伤口很浅很小要打针吗
淮南小豆饼香酥脆是怎么做的
如何通过中信银行在线支付美国签证费
求一首歌的名字,里面有句歌词叫i m sorry mu
哪一种金属导热性能好?生活中的锅常用什么金
0708赛季NBA全明星东西部对抗赛都有谁参加?
软考系统规划与管理师考试证书含金量高吗
有做白铁通风工程的吗
我刚和她主动提起来分手,她发条这样的说说。
会计本科生在创维集团待遇怎样?发展前景怎样
从外面挖的野菜,也干净就是有点土,然后放卧
推荐资讯
初学者用什么c语言编辑器,手机版的
一个人在干活,一个人在旁观,用一个成语来形
玛雅人为什么一夜之间消失了?有没有灭绝啊?
郊区佳木斯合家欢大众风味熘炒地址在哪里啊
圆通快递已发出去5天了,没动静,伤心
3ds max2012自从卸了之后,再安装,就会只能
神舟系列飞船共有多少种
如何成为一个辩论会上的最佳辩手
菜谱番茄有什么好吃的做法
你嘴巴一直没闲着,哪有空说话,这句话什么意思
有谁知道?请速解,焦虑的妈妈
单选题That’s not &
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?