因checkbox的enable屬性為false,會使其變成灰白的,
現想加一Readonly屬性,謝謝!

解决方案 »

  1.   

    <input   type=checkbox   onclick="this.checked=false">   
    <input   type=checkbox   onclick="this.checked=true"   checked>  
      

  2.   

    Enabled = false  实现一样的效果
      

  3.   

    DropDownStyle = DropDownList
    不知道能不能满足你
      

  4.   


    DropDownStyle = DropDownList 和这个有关系么?
      

  5.   

    厄……我看走了眼
    combox了
      

  6.   

    private boolChk=false;然后在CheckedChanged事件中写
    checkBox1.Checked=boolChk;然后用程序写boolChk值就可以了
      

  7.   

    private bool boolChk=false;然后在CheckedChanged事件中写
    checkBox1.Checked=boolChk;然后用程序写boolChk值就可以了少写了bool
      

  8.   


    這樣的話在修改時候就不能選了。
    我的目的是加一個像TextBox的readonly一樣的屬性。謝謝
      

  9.   

    定义一个私有变量private bool chkStatus = false;在formLoad中获取checkBox的选中值
      private void Form1_Load (object sender, EventArgs e)
            {
                chkStatus = checkBox1.Checked; 
            }在checkBox1的事件CheckedChanged中截获事件, 直接赋值chkStatus。
      private void checkBox1_CheckedChanged (object sender, EventArgs e)
            {
                checkBox1.Checked = chkStatus;
            }
      

  10.   

    重写checkbox控件.public class MyCheckBox:CheckBox
        {
            bool read = false;
            public bool ReadOnly
            {
                get { return read; }
                set { read = value; }
            }
            protected override void OnKeyUp(KeyEventArgs kevent)
            {
                if (read)
                {
                    this.ResetFlagsandPaint();
                    return;
                }
                base.OnKeyUp(kevent);
            }
            protected override void OnMouseUp(MouseEventArgs mevent)
            {
                if (read)
                {
                    this.ResetFlagsandPaint();
                    return;
                }
                base.OnMouseUp(mevent);
            }
        }
      

  11.   

    或者重写chexkBox, 设置了ReadOnly后去掉OnClick事件, 达到只读效果.namespace CustomCheckBox
    {
        public partial class MyCheckBox : CheckBox
        {
            public MyCheckBox ( )
            {
                InitializeComponent();
            }        private bool readOnly;
            [Browsable(true), DefaultValue(false)]
            public bool ReadOnly
            {
                get { return readOnly; }
                set { readOnly = value; }
            }
            protected override void OnClick (EventArgs e)
            {
                if (readOnly)
                {
                    return;
                }
                base.OnClick(e);
            }        private System.Windows.Forms.AutoScaleMode autoScaleMode;
            public System.Windows.Forms.AutoScaleMode AutoScaleMode
            {
                get { return autoScaleMode; }
                set { autoScaleMode = value; }
            }    }
    }
      

  12.   

    3楼的基础上加点东西
    private bool chkStatus = false; 
    private bool IsEdit= false; //编辑状态标记private void Form1_Load (object sender, EventArgs e) 

        chkStatus = checkBox1.Checked; 
    } private void checkBox1_CheckedChanged (object sender, EventArgs e) 

        if(!IsEdit)
            checkBox1.Checked = chkStatus; 
    }