public class AddRemoveListBox : WebControl, INamingContainer {
ListBox target;
public event System.EventHandler SelectedIndexChanged; protected override void CreateChildControls()
{
target.AutoPostBack = true; // Wire up events
//
target.SelectedIndexChanged += new EventHandler(Target_SelectedIndexChanged);
} private void Target_SelectedIndexChanged(Object sender, EventArgs e) { if (null != SelectedIndexChanged)
SelectedIndexChanged(sender, e); }} 我转转成VB,主要问题出在 if (null != SelectedIndexChanged)上,
Public Event SelectedIndexChanged As System.EventHandler Private Sub Target_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) If Not SelectedIndexChanged Is Nothing Then ‘//这里出错,提示事件不能直接调用,不知道相应的在VB里应该是怎么调用的
RaiseEvent SelectedIndexChanged(sender, e)
End If
End Sub
ListBox target;
public event System.EventHandler SelectedIndexChanged; protected override void CreateChildControls()
{
target.AutoPostBack = true; // Wire up events
//
target.SelectedIndexChanged += new EventHandler(Target_SelectedIndexChanged);
} private void Target_SelectedIndexChanged(Object sender, EventArgs e) { if (null != SelectedIndexChanged)
SelectedIndexChanged(sender, e); }} 我转转成VB,主要问题出在 if (null != SelectedIndexChanged)上,
Public Event SelectedIndexChanged As System.EventHandler Private Sub Target_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) If Not SelectedIndexChanged Is Nothing Then ‘//这里出错,提示事件不能直接调用,不知道相应的在VB里应该是怎么调用的
RaiseEvent SelectedIndexChanged(sender, e)
End If
End Sub
RaiseEvent SelectedIndexChanged(sender, e)
End If
End Sub
AddHandler target.SelectedIndexChanged, AddressOf Target_SelectedIndexChanged这样也就行了,不在需要Handles Target.SelectedIndexChanged Private Sub Target_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
If Not SelectedIndexChanged Is Nothing Then
RaiseEvent SelectedIndexChanged(sender, e)
End If
End Sub 'Targrickjelly2004(rick & jelly)
你的我试了,好像也行