我要实现的功能是,我想给一个checkbox判断下他是第一次选中,如果是第一次则弹出一个新的页面,如果是第二次的是后就不弹出新页面。
各位大神给点代码参考下吧,谢谢。

解决方案 »

  1.   

    本帖最后由 net_lover 于 2010-09-06 20:48:34 编辑
      

  2.   

    设置标识
    public bool bview
    {
    get {return (bool)viewstate["bview"];
    set{viewstate["bview"]=value;}
    }
      

  3.   

    例如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;
           //打开网页
        }
    }
      

  4.   

    其实,完全可以在客户端使用js实现。如果想控制切换页面之后,也不允许弹出,那么 
    ViewState
    就不能胜任了。你需要采用Cookie了,中具体使用这样实现,要看你的业务了
      

  5.   

    我如果用button点击的时候你的那个代码就不行了。
    我是在buttion的单击事件里判断的。能给个代码吗。谢谢。
      

  6.   


    不论鼠标点击或是怎样,都会触发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");
        }