关于sender的简单的问题 TextBox tb = (TextBox)sender与TextBox tb = new TextBox()区别在哪里??谢谢~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你所说的Sender指事件方法中的object sender吧它是指引发事件的对象TextBox txt = new TextBox()txt.click += new Eventnhandle( myClick); textBOx txt2 = new TextBox();txt2.click += new EventHandle(myClick) private void myClick( object sender , enventArgs e ){ if(sender == this.txt).... if(sender == this.txt2) ...} 我看到一段代码:private void textBox_textBoxEmpty_Validating(object sender,system.ComponentModel.CancelEventArgs e){TextBox tb = (TextBox)sender;.......}我把这段代码改为TextBox tb = new TextBox() 就不行了。(TextBox)sender不就是强制转换为textbox类型吗。和TextBox tb = new TextBox() 有什么区别呢? 当然有本质的区别。通过(TextBox)Sender进行强制转换,这是把一个已有对象(由参数Sender传入)强制改变其解析方式,则一个object类转换为TextBox。在进行这个过程中要求这个object对象的确是一个TextBox对象才可以,并且也不会修改这个对象的任何属性。而new TextBOx()则是完全生成了另外一个对象。这两者是根本不同的。在楼主提供的两个方式的直接结果是tb引用了完全不同的对象。 TextBox tb = (TextBox)sender//将sender强制转换为 textbox 类型, 赋值给 tb与TextBox tb = new TextBox()//这仅仅是创建一个 textbox 的新例而已.所以,结果当然不一样.就象int i;与int i=5;一样吗?! 清除一下cookie试试.另外,结贴要验证码的吗?! [新人自学求助]改变其他窗口控件的问题 IIS 7.5 下 COMET的问题 kindeditor编辑器 前台页面播放视频,只有声音没有图像 高分求登录源代码 为什么设计模式是提倡优先使用组合而不是继承???????? 关于字符串的替换问题? 高分求购C#连接Oracle的代码,要求能用字段名访问内容的,而不是列索引 表格的正则 求c#实现概率问题?通分、约分…… 有这样的数据处理控件吗? 关于保存 1到1000求和,,用两个线程实现。。。。急!!!
它是指引发事件的对象
TextBox txt = new TextBox()
txt.click += new Eventnhandle( myClick); textBOx txt2 = new TextBox();
txt2.click += new EventHandle(myClick)
private void myClick( object sender , enventArgs e )
{
if(sender == this.txt)....
if(sender == this.txt2) ...
}
{
TextBox tb = (TextBox)sender;.......}我把这段代码改为TextBox tb = new TextBox() 就不行了。(TextBox)sender不就是强制转换为textbox类型吗。和TextBox tb = new TextBox() 有什么区别呢?
通过(TextBox)Sender进行强制转换,这是把一个已有对象(由参数Sender传入)强制改变其解析方式,则一个object类转换为TextBox。
在进行这个过程中要求这个object对象的确是一个TextBox对象才可以,并且也不会修改这个对象的任何属性。而new TextBOx()则是完全生成了另外一个对象。这两者是根本不同的。在楼主提供的两个方式的直接结果是tb引用了完全不同的对象。
//将sender强制转换为 textbox 类型, 赋值给 tb与TextBox tb = new TextBox()
//这仅仅是创建一个 textbox 的新例而已.
所以,结果当然不一样.
就象int i;与int i=5;一样吗?!