读书人

radiobutton的CheckedChanged事件与Cl

发布时间: 2012-08-09 15:59:21 作者: rapoo

radiobutton的CheckedChanged事件与Click事件

C# code
private void radioButton1_CheckedChanged(object sender, EventArgs e) {     if (radioButton1.Checked)             {                 clsGridStyle.rdo1();                 clsCellCompute.rdo1();                 clsStatistics.rdo1();                 ListGrid.OwnerDrawCell += new FlexCell.Grid.OwnerDrawCellEventHandler(clsDrawImage.rdo1);                 ListGrid.MouseDown += new FlexCell.Grid.MouseDownEventHandler(clsMouseDown.rdo1);                 ListGrid.MouseDoubleClick += new MouseEventHandler(clsMouseDoubleClick.rdo1);                            }             else             {                 ListGrid.OwnerDrawCell -= new FlexCell.Grid.OwnerDrawCellEventHandler(clsDrawImage.rdo1);                 ListGrid.MouseDown -= new FlexCell.Grid.MouseDownEventHandler(clsMouseDown.rdo1);                 ListGrid.MouseDoubleClick -= new MouseEventHandler(clsMouseDoubleClick.rdo1);             } } 


rdo1,rdo2,rdo3,rdo4.....最初都是用的CheckedChanged事件

现改为用Click事件

C# code
private void radioButton1_Click(object sender, EventArgs e) {     if (radioButton1.Checked)             {                 clsGridStyle.rdo1();                 clsCellCompute.rdo1();                 clsStatistics.rdo1();                 ListGrid.OwnerDrawCell += new FlexCell.Grid.OwnerDrawCellEventHandler(clsDrawImage.rdo1);                 ListGrid.MouseDown += new FlexCell.Grid.MouseDownEventHandler(clsMouseDown.rdo1);                 ListGrid.MouseDoubleClick += new MouseEventHandler(clsMouseDoubleClick.rdo1);                            }             else             {                 ListGrid.OwnerDrawCell -= new FlexCell.Grid.OwnerDrawCellEventHandler(clsDrawImage.rdo1);                 ListGrid.MouseDown -= new FlexCell.Grid.MouseDownEventHandler(clsMouseDown.rdo1);                 ListGrid.MouseDoubleClick -= new MouseEventHandler(clsMouseDoubleClick.rdo1);             } } 


但是在rdo1、rdo2、rdo3....切换时,发现

C# code
ListGrid.OwnerDrawCell -= new FlexCell.Grid.OwnerDrawCellEventHandler(clsDrawImage.rdo1); ListGrid.MouseDown -= new FlexCell.Grid.MouseDownEventHandler(clsMouseDown.rdo1); ListGrid.MouseDoubleClick -= new MouseEventHandler(clsMouseDoubleClick.rdo1); 



没有执行,绘制的图片线条,发生了叠加

CheckedChanged事件 与 Click 事件有什么不同吗?如何解决呢?

[解决办法]
这是单选框,你点击它选中后,再次点击不会发生 Checked的变换

读书人网 >C#

热点推荐