C#如何判断checkbox被选中的次数

z273894270 2010-09-06 08:43:36
我要实现的功能是,我想给一个checkbox判断下他是第一次选中,如果是第一次则弹出一个新的页面,如果是第二次的是后就不弹出新页面。
各位大神给点代码参考下吧,谢谢。
...全文
177 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 z273894270 的回复:]
我如果用button点击的时候你的那个代码就不行了。
我是在buttion的单击事件里判断的。能给个代码吗。谢谢。
[/Quote]

不论鼠标点击或是怎样,都会触发CheckedChanged事件。

private void button7_Click(object sender, EventArgs e)
{
checkBox1.Checked = !checkBox1.Checked;
}

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
CheckBox c = sender as CheckBox;
if (c.Checked && c.Tag == null)//第一次c.Tag为null
{
//此时为第一次将Checkbox设置为true的情况
//设置标记,以便后来检查
c.Tag = true;
MessageBox.Show("Test");
}
}


不论界面用键盘按空格,用鼠标点,用按钮设置,都正常无比,你测试过没有?或是说,你知道如何注册事件么?
双击CheckBox,会生成CheckedChanged事件,里面写我贴给你的

CheckBox c = sender as CheckBox;
if (c.Checked && c.Tag == null)//第一次c.Tag为null
{
//此时为第一次将Checkbox设置为true的情况
//设置标记,以便后来检查
c.Tag = true;
MessageBox.Show("Test");
}
z273894270 2010-09-06
  • 打赏
  • 举报
回复
我如果用button点击的时候你的那个代码就不行了。
我是在buttion的单击事件里判断的。能给个代码吗。谢谢。
blue601 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyazhe 的回复:]
例如

C# code

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
CheckBox c = sender as CheckBox;
if (c.Checked && c.Tag == null)//第一次c.Tag为null
{
……
[/Quote]

就是这个
孟子E章 2010-09-06
  • 打赏
  • 举报
回复
其实,完全可以在客户端使用js实现。如果想控制切换页面之后,也不允许弹出,那么
ViewState
就不能胜任了。你需要采用Cookie了,中具体使用这样实现,要看你的业务了
兔子-顾问 2010-09-06
  • 打赏
  • 举报
回复
例如

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
CheckBox c = sender as CheckBox;
if (c.Checked && c.Tag == null)//第一次c.Tag为null
{
//此时为第一次将Checkbox设置为true的情况
//设置标记,以便后来检查
c.Tag = true;
//打开网页
}
}
wuyq11 2010-09-06
  • 打赏
  • 举报
回复
设置标识
public bool bview
{
get {return (bool)viewstate["bview"];
set{viewstate["bview"]=value;}
}
孟子E章 2010-09-06
  • 打赏
  • 举报
回复
<asp:checkbox onclick="xx()"

void xx(object sender, EventArgs e)
{
if(ViewState["x"] == null)
{
ViewState["x"]="xz";


//弹出的代码

ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(Page.GetType(), "x", "window.open('xx.aspx')", true);

}
}
兔子-顾问 2010-09-06
  • 打赏
  • 举报
回复
设置一个标记

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧