9 个解决方案
#1
可以更详细一些吗?
#2
我在datagrid帮定时自动添加了一列CheckBox,因为是自动生成CheckedBox,所以没有在程序的一开始定义CheckedChanged事件,所以我想在程序中实现事件的添加。看到过别人的程序用VB写的,在添加CheckBox是同时添加了CheckedChanged事件,代码如下:
AddHandler cb.CheckedChanged, AddressOf OnCheckedchangedEvent
这句话就是把cb(CheckBox)的CheckedChanged事件重新定义成OnCheckedchangedEvent,所以在后面的代码中定义了OnCheckedchangedEvent事件,代码如下:
Private Sub OnCheckedchangedEvent(ByVal sender As Object,ByVal e As EventArgs)
不知道我解释的对不对(我不太懂VB),所以我想在C#中如何实现上面的两段代码。
AddHandler cb.CheckedChanged, AddressOf OnCheckedchangedEvent
这句话就是把cb(CheckBox)的CheckedChanged事件重新定义成OnCheckedchangedEvent,所以在后面的代码中定义了OnCheckedchangedEvent事件,代码如下:
Private Sub OnCheckedchangedEvent(ByVal sender As Object,ByVal e As EventArgs)
不知道我解释的对不对(我不太懂VB),所以我想在C#中如何实现上面的两段代码。
#3
cb.CheckedChanged += new System.EventHandler(OnCheckedchangedEvent);
#4
icyer()你好,你的这条语句我想到了,也使用了,可是我发现自己定义的OnCheckedChangedEvent和CheckBox自身的CheckedChanged不太一样,因为我跟踪了我的OnCheckedChangedEvent事件,发现就单选一个CheckBox时(选中时)它执行了OnCheckedChangedEvent事件,但你再次选这个CheckBox时(取消选取),它并没有执行OnCheckedChangedEvent事件。非常有意思的事是,当你选择第另外一个CheckBox时(选中),OnCheckedChangedEvent执行了,如果你取消该选择(两个中的任意一个),则OnCheckedChangedEvent执行了两遍,两遍?这是为什么呢?请各位给各理由先!
#5
icyer()在吗?能回答我的问题吗?
#6
定义:
Public Class YourCheckedBox:CheckedBox
{
......
public Overrides CheckStateChanged()
{
......
}
}
动态添加YourCheckedBox就行了。
Public Class YourCheckedBox:CheckedBox
{
......
public Overrides CheckStateChanged()
{
......
}
}
动态添加YourCheckedBox就行了。
#7
能说的详细些吗?sbf2000,就我现在这个情况谈谈,我应该怎么做呢?为什么有时候会执行两次OnCheckedChangedEvent,而有时候一次都不执行呢?
#8
AddHandler tempControl.Check, AddressOf tempControl_Check
tempcontrol为控件名,tempcontrol_Check是控件的事件。不明白继续问。
tempcontrol为控件名,tempcontrol_Check是控件的事件。不明白继续问。
#9
你这个是VB的语句吧,C#呢?
#1
可以更详细一些吗?
#2
我在datagrid帮定时自动添加了一列CheckBox,因为是自动生成CheckedBox,所以没有在程序的一开始定义CheckedChanged事件,所以我想在程序中实现事件的添加。看到过别人的程序用VB写的,在添加CheckBox是同时添加了CheckedChanged事件,代码如下:
AddHandler cb.CheckedChanged, AddressOf OnCheckedchangedEvent
这句话就是把cb(CheckBox)的CheckedChanged事件重新定义成OnCheckedchangedEvent,所以在后面的代码中定义了OnCheckedchangedEvent事件,代码如下:
Private Sub OnCheckedchangedEvent(ByVal sender As Object,ByVal e As EventArgs)
不知道我解释的对不对(我不太懂VB),所以我想在C#中如何实现上面的两段代码。
AddHandler cb.CheckedChanged, AddressOf OnCheckedchangedEvent
这句话就是把cb(CheckBox)的CheckedChanged事件重新定义成OnCheckedchangedEvent,所以在后面的代码中定义了OnCheckedchangedEvent事件,代码如下:
Private Sub OnCheckedchangedEvent(ByVal sender As Object,ByVal e As EventArgs)
不知道我解释的对不对(我不太懂VB),所以我想在C#中如何实现上面的两段代码。
#3
cb.CheckedChanged += new System.EventHandler(OnCheckedchangedEvent);
#4
icyer()你好,你的这条语句我想到了,也使用了,可是我发现自己定义的OnCheckedChangedEvent和CheckBox自身的CheckedChanged不太一样,因为我跟踪了我的OnCheckedChangedEvent事件,发现就单选一个CheckBox时(选中时)它执行了OnCheckedChangedEvent事件,但你再次选这个CheckBox时(取消选取),它并没有执行OnCheckedChangedEvent事件。非常有意思的事是,当你选择第另外一个CheckBox时(选中),OnCheckedChangedEvent执行了,如果你取消该选择(两个中的任意一个),则OnCheckedChangedEvent执行了两遍,两遍?这是为什么呢?请各位给各理由先!
#5
icyer()在吗?能回答我的问题吗?
#6
定义:
Public Class YourCheckedBox:CheckedBox
{
......
public Overrides CheckStateChanged()
{
......
}
}
动态添加YourCheckedBox就行了。
Public Class YourCheckedBox:CheckedBox
{
......
public Overrides CheckStateChanged()
{
......
}
}
动态添加YourCheckedBox就行了。
#7
能说的详细些吗?sbf2000,就我现在这个情况谈谈,我应该怎么做呢?为什么有时候会执行两次OnCheckedChangedEvent,而有时候一次都不执行呢?
#8
AddHandler tempControl.Check, AddressOf tempControl_Check
tempcontrol为控件名,tempcontrol_Check是控件的事件。不明白继续问。
tempcontrol为控件名,tempcontrol_Check是控件的事件。不明白继续问。
#9
你这个是VB的语句吧,C#呢?