首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解释一下: CheckBox checkbox =(CheckBox)发件人;

解释一下: CheckBox checkbox =(CheckBox)发件人;
EN

Stack Overflow用户
提问于 2010-09-23 19:21:48
回答 6查看 20K关注 0票数 8

在浏览checkBox时,我发现上面写着

代码语言:javascript
复制
CheckBox checkbox = (CheckBox)sender

checkBox1_CheckedChanged事件上。

请解释一下这是什么意思?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-09-23 19:23:41

这行代码只是将sender转换为CheckBox

为什么?

CheckedChanged事件的事件处理程序签名为:

代码语言:javascript
复制
CheckChanged(object sender, EventArgs e)

因此,如果您想使用任何特定于CheckBox的功能,则需要将sender转换回CheckBox - object没有太多可供您使用的功能。

这样,checkbox变量就可以用来获取复选框Id并对该复选框进行操作。

票数 12
EN

Stack Overflow用户

发布于 2010-09-23 19:49:11

这是一个在网格视图或转发器中的example.Suppose,我们希望选择你在邮件中看到的所有option.As box.There一个复选框,如果你点击它,select.Code会更好地解释你。

代码语言:javascript
复制
protected void ChkAll_CheckedChanged(object sender, EventArgs e)
{
    foreach (RepeaterItem rowItem in this.rptFriendsRecord.Items)
    {
        CheckBox chk = (CheckBox)rowItem.FindControl("cbFriend");
        chk.Checked = ((CheckBox)sender).Checked;
    }
}

我希望它能起作用。

票数 5
EN

Stack Overflow用户

发布于 2010-09-23 19:24:43

我假设方法定义是这样的:

代码语言:javascript
复制
void checkBox1_CheckedChanged(object sender,EventArgs e){
  CheckBox checkbox = (CheckBox)sender;
  //....
}

基本上,他们在这里所做的就是将声明为泛型对象的sender变量转换为(更“有用”的) CheckBox变量。

这通常是因为您必须进行强制转换才能访问CheckBox的“特定”属性。

例如

代码语言:javascript
复制
sender.Checked=true;

不会起作用。你必须这样做:

代码语言:javascript
复制
((CheckBox)sender).Checked=true;

这当然非常难看,所以声明一个新的CheckBox变量要容易得多,然后您可以简单地这样做

代码语言:javascript
复制
checkbox.Checked=true;

没有选角。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3777766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档