0

私は-非常に単純なWebユーザーコントロールを配置しようとしています

基本的に、プロパティに基づいてドロップダウンリスト/チェックボックスリストまたはラジオリストとしてレンダリングしたいだけでなく、選択されたものを理解できるようにしたい

私は次のことを試みていました-しかし、リストコントロールのselectedindexchangedにアタッチする方法を理解できないようです。これにより、選択した値を設定できます。これは、VBがそれほど大きくないのに役立ちませんが、このインスタンスでは、イベントのインテリセンスすら得られません。

   Public Options As List(Of Options)
    Public ControlRenderType As ControlRenderType
    Public IncludeFreeOption As Boolean
    Public SelectedOptions As List(Of Options)

    Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init

        Dim c As ListControl
        Select Case (ControlRenderType)
            Case STGLib.ControlRenderType.CheckBoxList
                c = New CheckBoxList()
            Case STGLib.ControlRenderType.DropdownList
                c = New DropDownList()
            Case STGLib.ControlRenderType.RadioButtonList
                c = New RadioButtonList()

            Case Else
                Throw New Exception("No Render Type Specified")
        End Select

        For Each opt In Options
            Dim li = New ListItem(opt.Description, opt.ID)
            c.Items.Add(li)
        Next

        c.SelectedIndexChanged += ..?? or something
        Page.Controls.Add(c)

    End Sub

誰か説明してもらえますか?もちろん、私がこれについて完全に間違った方法で行っている可能性は十分にあります。

ありがとう

4

1 に答える 1

1

まず、動的に作成したオブジェクトのIndexChangeを処理するSubまたは関数を作成し、Subの署名が次のようになっていることを確認します

Sub myOwnSub(ByVal sender As Object, ByVal e As EventArgs)
...
...  Handle your event here
...
End Sub

次に、オブジェクトを作成した後、次のコードを追加します

Dim obj as ListBox
AddHandler obj.SelectedIndexChanged, AddressOf myOwnSub
于 2012-07-18T12:23:41.983 に答える