<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Custom Server Controls</title><link>http://forums.asp.net/19.aspx</link><description>All about building ASP.NET server controls. &lt;a href="http://aspadvice.com/SignUp/list.aspx?l=12&amp;c=17" target="_blank"&gt;Email List&lt;/a&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: 'Error Creating Control' ... 'true' could not be set on property 'ShowRadioButtons'</title><link>http://forums.asp.net/thread/1795346.aspx</link><pubDate>Tue, 10 Jul 2007 09:09:32 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1795346</guid><dc:creator>sujitm</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1795346.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=19&amp;PostID=1795346</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I changed the property as following and it is working now. The problem was that you were using RadioButtonList for storing the value of ShowTo property. Remember&amp;nbsp;all the child controls in&amp;nbsp;CompositeControl are created every time a property is changed in design time. So the value set by user was getting lost. Use the following code as baseline and improve it to incorporate your logic.&lt;/p&gt;
&lt;p&gt;&amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;Public Property&lt;/span&gt; ShowTo() &lt;span class="kwd"&gt;As&lt;/span&gt; ShowToOptions&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;Get&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return&lt;/span&gt; ViewState(&lt;span class="st"&gt;&amp;quot;ShowTo&amp;quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;If&lt;/span&gt; ShowRadioButtons = &lt;span class="kwd"&gt;False Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return&lt;/span&gt; ShowToOptions.ShowToSpecific&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case&lt;/span&gt; RbtnShowTo.SelectedValue&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;Case&lt;/span&gt; &lt;span class="st"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;Return&lt;/span&gt; ShowToOptions.NoneSelected&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;Case&lt;/span&gt; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;Return&lt;/span&gt; ShowToOptions.ShowToAll&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;Case&lt;/span&gt; 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;Return&lt;/span&gt; ShowToOptions.ShowToSpecific&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;End Select&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Get&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As&lt;/span&gt; ShowToOptions)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EnsureChildControls()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ViewState(&lt;span class="st"&gt;&amp;quot;ShowTo&amp;quot;&lt;/span&gt;) = value&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;Select Case&lt;/span&gt; value&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;Case&lt;/span&gt; ShowToOptions.NoneSelected&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RbtnShowTo.SelectedValue = &lt;span class="kwd"&gt;Nothing&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowMainArea.Visible = &lt;span class="kwd"&gt;False&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowHeaderLabels.Visible = &lt;span class="kwd"&gt;False&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case&lt;/span&gt; ShowToOptions.ShowToAll&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RbtnShowTo.SelectedValue = ShowToOptions.ShowToAll&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowMainArea.Visible = &lt;span class="kwd"&gt;False&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowHeaderLabels.Visible = &lt;span class="kwd"&gt;False&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case&lt;/span&gt; ShowToOptions.ShowToSpecific&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RbtnShowTo.SelectedValue = ShowToOptions.ShowToSpecific&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowMainArea.Visible = &lt;span class="kwd"&gt;True&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowHeaderLabels.Visible = &lt;span class="kwd"&gt;True&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Set&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;/span&gt;&lt;/p&gt;&amp;nbsp;</description></item><item><title>Re: 'Error Creating Control' ... 'true' could not be set on property 'ShowRadioButtons'</title><link>http://forums.asp.net/thread/1795239.aspx</link><pubDate>Tue, 10 Jul 2007 08:05:27 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1795239</guid><dc:creator>Bow99</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1795239.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=19&amp;PostID=1795239</wfw:commentRss><description>&lt;p&gt;Hi there&lt;/p&gt;
&lt;p&gt;Thanks for your help but the issue seems to not cause me any problems like that now. (I just continued to write the control and work out the design issue later). The only thing I think may have solved it was that I added an ensureChildControl before each set.&lt;/p&gt;
&lt;p&gt;I now have a different issue but along the same lines as the first. Now then I go to the design page I can see my control (now with no error) but when I try and edit the properties for example to change the &amp;quot;ShowTo&amp;quot; property (which is an enumeration) it does not allow me to select using the dropdown to: ShowToAll, it changes the source but not the properties window. Is there somekind of designer attribute?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Oh the code is quite long now (about 700 lines) but here it is.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;pre class="coloredcode"&gt;&lt;span class="cmt"&gt;&amp;#39;Option Strict On
&lt;/span&gt;&lt;span class="kwd"&gt;Imports&lt;/span&gt; System
&lt;span class="kwd"&gt;Imports&lt;/span&gt; System.ComponentModel
&lt;span class="kwd"&gt;Imports&lt;/span&gt; System.Drawing
&lt;span class="kwd"&gt;Imports&lt;/span&gt; System.Security.Permissions
&lt;span class="kwd"&gt;Imports&lt;/span&gt; System.Web
&lt;span class="kwd"&gt;Imports&lt;/span&gt; System.Web.UI
&lt;span class="kwd"&gt;Imports&lt;/span&gt; System.Web.UI.WebControls
&lt;span class="kwd"&gt;Imports&lt;/span&gt; System.Collections.ObjectModel

&lt;span class="kwd"&gt;Namespace&lt;/span&gt; UI


    &amp;lt; _
        AspNetHostingPermission(SecurityAction.Demand, _
        Level:=AspNetHostingPermissionLevel.Minimal), _
        AspNetHostingPermission(SecurityAction.InheritanceDemand, _
        Level:=AspNetHostingPermissionLevel.Minimal), _
        ToolboxData(&lt;span class="st"&gt;&amp;quot;&amp;lt;{0}:GroupPicker runat=&amp;quot;&amp;quot;Server&amp;quot;&amp;quot; id=&amp;quot;&amp;quot;GroupPicker&amp;quot;&amp;quot;&amp;gt; &amp;lt;/{0}:GroupPicker&amp;gt;&amp;quot;&lt;/span&gt;) _
    &amp;gt; _
    &lt;span class="kwd"&gt;Public Class&lt;/span&gt; GroupPicker
        &lt;span class="kwd"&gt;Inherits&lt;/span&gt; CompositeControl

&lt;span class="kwd"&gt;#Region &lt;span class="st"&gt;&amp;quot;Event Handling stuff&amp;quot;&lt;/span&gt;&lt;/span&gt;

        &lt;span class="kwd"&gt;Public Event&lt;/span&gt; AddButtonClicked(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; sender &lt;span class="kwd"&gt;As Object&lt;/span&gt;, &lt;span class="kwd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwd"&gt;As&lt;/span&gt; EventArgs)
        &lt;span class="kwd"&gt;Public Event&lt;/span&gt; RemoveButtonClicked(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; sender &lt;span class="kwd"&gt;As Object&lt;/span&gt;, &lt;span class="kwd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwd"&gt;As&lt;/span&gt; EventArgs)
        &lt;span class="kwd"&gt;Public Event&lt;/span&gt; RadioButtonSelectedIndexChanged(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; sender &lt;span class="kwd"&gt;As Object&lt;/span&gt;, &lt;span class="kwd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwd"&gt;As&lt;/span&gt; EventArgs)


        &lt;span class="kwd"&gt;Protected Overridable Sub&lt;/span&gt; OnAddButtonClicked(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwd"&gt;As&lt;/span&gt; EventArgs)
            &lt;span class="kwd"&gt;RaiseEvent&lt;/span&gt; AddButtonClicked(&lt;span class="kwd"&gt;Me&lt;/span&gt;, e)
        &lt;span class="kwd"&gt;End Sub

        Protected Overridable Sub&lt;/span&gt; OnRemoveButtonClicked(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwd"&gt;As&lt;/span&gt; EventArgs)
            &lt;span class="kwd"&gt;RaiseEvent&lt;/span&gt; RemoveButtonClicked(&lt;span class="kwd"&gt;Me&lt;/span&gt;, e)
        &lt;span class="kwd"&gt;End Sub

        Protected Overridable Sub&lt;/span&gt; OnRadioButtonSelectedIndexChanged(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwd"&gt;As&lt;/span&gt; EventArgs)
            &lt;span class="kwd"&gt;RaiseEvent&lt;/span&gt; RadioButtonSelectedIndexChanged(&lt;span class="kwd"&gt;Me&lt;/span&gt;, e)
        &lt;span class="kwd"&gt;End Sub


#End Region



#Region &lt;span class="st"&gt;&amp;quot;Variables&amp;quot;&lt;/span&gt;&lt;/span&gt;
        &lt;span class="cmt"&gt;&amp;#39;------------------UI Table------------------------
&lt;/span&gt;
        &lt;span class="kwd"&gt;Private&lt;/span&gt; tabLayoutTable &lt;span class="kwd"&gt;As&lt;/span&gt; Table

        &lt;span class="kwd"&gt;Private&lt;/span&gt; rowRadioButtons &lt;span class="kwd"&gt;As&lt;/span&gt; TableRow
        &lt;span class="kwd"&gt;Private&lt;/span&gt; cellRadioButtons &lt;span class="kwd"&gt;As&lt;/span&gt; TableCell

        &lt;span class="kwd"&gt;Private&lt;/span&gt; rowHeaderLabels &lt;span class="kwd"&gt;As&lt;/span&gt; TableRow
        &lt;span class="kwd"&gt;Private&lt;/span&gt; cellLeftHeader &lt;span class="kwd"&gt;As&lt;/span&gt; TableCell
        &lt;span class="kwd"&gt;Private&lt;/span&gt; cellButtonsHeader &lt;span class="kwd"&gt;As&lt;/span&gt; TableCell
        &lt;span class="kwd"&gt;Private&lt;/span&gt; cellRightHeader &lt;span class="kwd"&gt;As&lt;/span&gt; TableCell

        &lt;span class="kwd"&gt;Private&lt;/span&gt; rowMainArea &lt;span class="kwd"&gt;As&lt;/span&gt; TableRow
        &lt;span class="kwd"&gt;Private&lt;/span&gt; cellLeftList &lt;span class="kwd"&gt;As&lt;/span&gt; TableCell
        &lt;span class="kwd"&gt;Private&lt;/span&gt; cellButtons &lt;span class="kwd"&gt;As&lt;/span&gt; TableCell
        &lt;span class="kwd"&gt;Private&lt;/span&gt; cellRightList &lt;span class="kwd"&gt;As&lt;/span&gt; TableCell

        &lt;span class="cmt"&gt;&amp;#39;------------------End of UI Table-----------------

        &amp;#39;------------------UI Elements---------------------
&lt;/span&gt;
        &lt;span class="kwd"&gt;Private&lt;/span&gt; RbtnShowTo &lt;span class="kwd"&gt;As&lt;/span&gt; RadioButtonList
        &lt;span class="cmt"&gt;&amp;#39;Left List
&lt;/span&gt;        &lt;span class="kwd"&gt;Private&lt;/span&gt; lblLeftListHeading &lt;span class="kwd"&gt;As&lt;/span&gt; Label
        &lt;span class="kwd"&gt;Private&lt;/span&gt; lbxLeftList &lt;span class="kwd"&gt;As&lt;/span&gt; ListBox

        &lt;span class="cmt"&gt;&amp;#39;Right List
&lt;/span&gt;        &lt;span class="kwd"&gt;Private&lt;/span&gt; lbxRightList &lt;span class="kwd"&gt;As&lt;/span&gt; ListBox
        &lt;span class="kwd"&gt;Private&lt;/span&gt; lblRightListHeading &lt;span class="kwd"&gt;As&lt;/span&gt; Label

        &lt;span class="cmt"&gt;&amp;#39;Buttons
&lt;/span&gt;        &lt;span class="kwd"&gt;Private&lt;/span&gt; btnAdd &lt;span class="kwd"&gt;As&lt;/span&gt; Button
        &lt;span class="kwd"&gt;Private&lt;/span&gt; litBreak &lt;span class="kwd"&gt;As&lt;/span&gt; Literal
        &lt;span class="kwd"&gt;Private&lt;/span&gt; btnRemove &lt;span class="kwd"&gt;As&lt;/span&gt; Button
        &lt;span class="cmt"&gt;&amp;#39;------------------End of UI Elements--------------

        &amp;#39;------------------Other Elements------------------
&lt;/span&gt;        &lt;span class="kwd"&gt;Private&lt;/span&gt; _LeftCollection &lt;span class="kwd"&gt;As Object
        Private&lt;/span&gt; _RightCollection &lt;span class="kwd"&gt;As Object&lt;/span&gt;
        &lt;span class="cmt"&gt;&amp;#39;------------------End of Other Elements-----------
&lt;/span&gt;
&lt;span class="kwd"&gt;#End Region

        Public Enum&lt;/span&gt; ShowToOptions
            NoneSelected = 2
            ShowToAll = 1
            ShowToSpecific = 0
        &lt;span class="kwd"&gt;End Enum

#Region &lt;span class="st"&gt;&amp;quot;Properties&amp;quot;&lt;/span&gt;&lt;/span&gt;

&lt;span class="kwd"&gt;#Region &lt;span class="st"&gt;&amp;quot;SkinID properties&amp;quot;&lt;/span&gt;&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; Gets or sets the radio button skinID
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker Skins&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; RadioButtonSkinID() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; RbtnShowTo.SkinID
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                RbtnShowTo.SkinID = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; Gets or sets the Add button SkinID
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker Skins&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; AddButtonSkinID() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; btnAdd.SkinID
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                btnAdd.SkinID = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; Gets or sets the Remove Button SkinID
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker Skins&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; RemoveButtonSkinID() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; btnRemove.SkinID
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                btnRemove.SkinID = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; Gets or sets the Left List Box SkinID
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker Skins&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; LeftListSkinID() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; lbxLeftList.SkinID
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                lbxLeftList.SkinID = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; Gets or sets the Right List Box SkinID
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker Skins&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; RightListSkinID() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; lbxRightList.SkinID
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                lbxRightList.SkinID = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; Gets or sets the Left List Heading SkinID
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker Skins&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; LeftListHeadingSkinID() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; lblLeftListHeading.SkinID
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                lblLeftListHeading.SkinID = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; Gets or sets the Right List Heading SkinID
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; RightListHeadingSkinID() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; lblRightListHeading.SkinID
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                lblRightListHeading.SkinID = value
            &lt;span class="kwd"&gt;End Set
        End Property
#End Region&lt;/span&gt;


        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; RadioButtonShowToAllText() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; RbtnShowTo.Items.FindByValue(1).Text
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                RbtnShowTo.Items.FindByValue(1).Text = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; RadioButtonShowToSpecificText() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; RbtnShowTo.Items.FindByValue(0).Text
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                RbtnShowTo.Items.FindByValue(0).Text = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; gets or sets the direction that the radio buttons are displayed
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; RadioButtonRepeatDirection() &lt;span class="kwd"&gt;As&lt;/span&gt; RepeatDirection
            &lt;span class="kwd"&gt;Get
                Return&lt;/span&gt; RbtnShowTo.RepeatDirection
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As&lt;/span&gt; RepeatDirection)
                EnsureChildControls()
                RbtnShowTo.RepeatDirection = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; Gets or sets the heading text of the left list
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; LeftListHeadingText() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; lblLeftListHeading.Text
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                lblLeftListHeading.Text = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; Gets or sets the heading text of the right list
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; RightListHeadingText() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; lblRightListHeading.Text
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                lblRightListHeading.Text = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; The text displayed on the Add button
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; AddButtonText() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; btnAdd.Text
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                btnAdd.Text = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; The text displayed on the Remove button
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; RemoveButtonText() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; btnRemove.Text
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                btnRemove.Text = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;


        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; Populates / Gets the status of the Radio button with either None Selected; Show to all; or Show To Specific
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; ShowTo() &lt;span class="kwd"&gt;As&lt;/span&gt; ShowToOptions
            &lt;span class="kwd"&gt;Get
                If&lt;/span&gt; ShowRadioButtons = &lt;span class="kwd"&gt;False Then
                    Return&lt;/span&gt; ShowToOptions.ShowToSpecific
                &lt;span class="kwd"&gt;Else
                    Select Case&lt;/span&gt; RbtnShowTo.SelectedValue
                        &lt;span class="kwd"&gt;Case&lt;/span&gt; &lt;span class="st"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
                            &lt;span class="kwd"&gt;Return&lt;/span&gt; ShowToOptions.NoneSelected
                        &lt;span class="kwd"&gt;Case&lt;/span&gt; 1
                            &lt;span class="kwd"&gt;Return&lt;/span&gt; ShowToOptions.ShowToAll
                        &lt;span class="kwd"&gt;Case&lt;/span&gt; 0
                            &lt;span class="kwd"&gt;Return&lt;/span&gt; ShowToOptions.ShowToSpecific
                    &lt;span class="kwd"&gt;End Select
                End If
            End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As&lt;/span&gt; ShowToOptions)
                EnsureChildControls()
                &lt;span class="kwd"&gt;Select Case&lt;/span&gt; value
                    &lt;span class="kwd"&gt;Case&lt;/span&gt; ShowToOptions.NoneSelected
                        RbtnShowTo.SelectedValue = &lt;span class="kwd"&gt;Nothing&lt;/span&gt;
                        rowMainArea.Visible = &lt;span class="kwd"&gt;False&lt;/span&gt;
                        rowHeaderLabels.Visible = &lt;span class="kwd"&gt;False
                    Case&lt;/span&gt; ShowToOptions.ShowToAll
                        RbtnShowTo.SelectedValue = ShowToOptions.ShowToAll
                        rowMainArea.Visible = &lt;span class="kwd"&gt;False&lt;/span&gt;
                        rowHeaderLabels.Visible = &lt;span class="kwd"&gt;False
                    Case&lt;/span&gt; ShowToOptions.ShowToSpecific
                        RbtnShowTo.SelectedValue = ShowToOptions.ShowToSpecific
                        rowMainArea.Visible = &lt;span class="kwd"&gt;True&lt;/span&gt;
                        rowHeaderLabels.Visible = &lt;span class="kwd"&gt;True
                End Select
            End Set
        End Property&lt;/span&gt;


        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39;&amp;#39; Shows or hides the radio buttons. If ShowRadioButton is false then the ShowTo Property will return ShowToSpecific
        &amp;#39;&amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; ShowRadioButtons() &lt;span class="kwd"&gt;As Boolean
            Get
                Return&lt;/span&gt; rowRadioButtons.Visible
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As Boolean&lt;/span&gt;)
                EnsureChildControls()
                rowRadioButtons.Visible = value

            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; Turns the CausesValidation property of for when you click the Add and remove buttons so that any other validators on the page do not fire
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; CausesValidation() &lt;span class="kwd"&gt;As Boolean
            Get
                Return&lt;/span&gt; btnAdd.CausesValidation
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As Boolean&lt;/span&gt;)
                EnsureChildControls()
                btnAdd.CausesValidation = value
                btnRemove.CausesValidation = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; The Collection of information that is to be placed into the Left List
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; LeftCollection() &lt;span class="kwd"&gt;As Object
            Get
                Dim&lt;/span&gt; MyObj &lt;span class="kwd"&gt;As Object&lt;/span&gt; = ViewState(&lt;span class="st"&gt;&amp;quot;LeftCollection&amp;quot;&lt;/span&gt;)
                &lt;span class="kwd"&gt;If&lt;/span&gt; IsNothing(MyObj) &lt;span class="kwd"&gt;Then
                    Return Nothing
                Else
                    Return&lt;/span&gt; MyObj
                &lt;span class="kwd"&gt;End If
            End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As Object&lt;/span&gt;)
                EnsureChildControls()
                ViewState(&lt;span class="st"&gt;&amp;quot;LeftCollection&amp;quot;&lt;/span&gt;) = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; The Collection of information that is to be placed into the Right List
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; RightCollection() &lt;span class="kwd"&gt;As Object
            Get
                Dim&lt;/span&gt; MyObj &lt;span class="kwd"&gt;As Object&lt;/span&gt; = ViewState(&lt;span class="st"&gt;&amp;quot;RightCollection&amp;quot;&lt;/span&gt;)
                &lt;span class="kwd"&gt;If&lt;/span&gt; IsNothing(MyObj) &lt;span class="kwd"&gt;Then
                    Return Nothing
                Else
                    Return&lt;/span&gt; MyObj
                &lt;span class="kwd"&gt;End If
            End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As Object&lt;/span&gt;)
                EnsureChildControls()
                ViewState(&lt;span class="st"&gt;&amp;quot;RightCollection&amp;quot;&lt;/span&gt;) = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; A field name which defines the Left Collection data Value which is placed in the list box (Normally the ID field)
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; LeftCollectionDataValueField() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; lbxLeftList.DataValueField
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                lbxLeftList.DataValueField = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; The field name of the Text displayed in the Left List box
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; LeftCollectionDataTextField() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; lbxLeftList.DataTextField
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                lbxLeftList.DataTextField = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; A field name which defines the Right Collection data Value which is placed in the list box (Normally the ID field)
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; RightCollectionDataValueField() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; lbxRightList.DataValueField
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                lbxRightList.DataValueField = value
            &lt;span class="kwd"&gt;End Set
        End Property&lt;/span&gt;

        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; The field name of the Text displayed in the Right List box
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;value&amp;gt;&amp;lt;/value&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &amp;lt;Category(&lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;), Bindable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt; _
        &lt;span class="kwd"&gt;Public Property&lt;/span&gt; RightCollectionDataTextField() &lt;span class="kwd"&gt;As String
            Get
                Return&lt;/span&gt; lbxRightList.DataTextField
            &lt;span class="kwd"&gt;End Get
            Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As String&lt;/span&gt;)
                EnsureChildControls()
                lbxRightList.DataTextField = value
            &lt;span class="kwd"&gt;End Set
        End Property

#End Region

#Region &lt;span class="st"&gt;&amp;quot;Create child controls&amp;quot;&lt;/span&gt;&lt;/span&gt;

        &lt;span class="kwd"&gt;Protected Overrides Sub&lt;/span&gt; CreateChildControls()
            tabLayoutTable = &lt;span class="kwd"&gt;New&lt;/span&gt; Table
            tabLayoutTable.ID = &lt;span class="st"&gt;&amp;quot;tabLayoutTable&amp;quot;&lt;/span&gt;
            &lt;span class="cmt"&gt;&amp;#39;tabLayoutTable.BorderWidth = 1
&lt;/span&gt;            tabLayoutTable.SkinID = &lt;span class="st"&gt;&amp;quot;DoubleListPicker&amp;quot;&lt;/span&gt;
            &lt;span class="kwd"&gt;Me&lt;/span&gt;.Controls.Add(tabLayoutTable)

            rowRadioButtons = &lt;span class="kwd"&gt;New&lt;/span&gt; TableRow
            rowRadioButtons.ID = &lt;span class="st"&gt;&amp;quot;rowRadioButtons&amp;quot;&lt;/span&gt;

            cellRadioButtons = &lt;span class="kwd"&gt;New&lt;/span&gt; TableCell
            cellRadioButtons.ID = &lt;span class="st"&gt;&amp;quot;cellRadioButtons&amp;quot;&lt;/span&gt;
            cellRadioButtons.ColumnSpan = 3
            &lt;span class="cmt"&gt;&amp;#39;cellRadioButtons.BorderWidth = 1
&lt;/span&gt;            cellRadioButtons.SkinID = &lt;span class="st"&gt;&amp;quot;DoubleListPickerRadio&amp;quot;&lt;/span&gt;
            rowRadioButtons.Cells.Add(cellRadioButtons)

            rowHeaderLabels = &lt;span class="kwd"&gt;New&lt;/span&gt; TableRow
            rowHeaderLabels.ID = &lt;span class="st"&gt;&amp;quot;rowHeaderLabels&amp;quot;&lt;/span&gt;

            cellLeftHeader = &lt;span class="kwd"&gt;New&lt;/span&gt; TableCell
            cellLeftHeader.ID = &lt;span class="st"&gt;&amp;quot;cellLeftHeader&amp;quot;&lt;/span&gt;
            &lt;span class="cmt"&gt;&amp;#39;cellLeftHeader.BorderWidth = 1
&lt;/span&gt;            cellLeftHeader.SkinID = &lt;span class="st"&gt;&amp;quot;DoubleListPickerLeftListHeader&amp;quot;&lt;/span&gt;
            rowHeaderLabels.Cells.Add(cellLeftHeader)

            cellButtonsHeader = &lt;span class="kwd"&gt;New&lt;/span&gt; TableCell
            cellButtonsHeader.ID = &lt;span class="st"&gt;&amp;quot;cellButtonsHeader&amp;quot;&lt;/span&gt;
            &lt;span class="cmt"&gt;&amp;#39;cellButtonsHeader.BorderWidth = 1
&lt;/span&gt;            cellButtonsHeader.SkinID = &lt;span class="st"&gt;&amp;quot;DoubleListPickerButtonHeader&amp;quot;&lt;/span&gt;
            rowHeaderLabels.Cells.Add(cellButtonsHeader)

            cellRightHeader = &lt;span class="kwd"&gt;New&lt;/span&gt; TableCell
            cellRightHeader.ID = &lt;span class="st"&gt;&amp;quot;cellRightHeader&amp;quot;&lt;/span&gt;
            &lt;span class="cmt"&gt;&amp;#39;cellRightHeader.BorderWidth = 1
&lt;/span&gt;            cellRightHeader.SkinID = &lt;span class="st"&gt;&amp;quot;DoubleListPickerRightListHeader&amp;quot;&lt;/span&gt;
            rowHeaderLabels.Cells.Add(cellRightHeader)

            rowMainArea = &lt;span class="kwd"&gt;New&lt;/span&gt; TableRow
            rowMainArea.ID = &lt;span class="st"&gt;&amp;quot;rowMainArea&amp;quot;&lt;/span&gt;

            cellLeftList = &lt;span class="kwd"&gt;New&lt;/span&gt; TableCell
            cellLeftList.ID = &lt;span class="st"&gt;&amp;quot;cellLeftList&amp;quot;&lt;/span&gt;
            &lt;span class="cmt"&gt;&amp;#39;cellLeftList.BorderWidth = 1
&lt;/span&gt;            cellLeftList.SkinID = &lt;span class="st"&gt;&amp;quot;DoubleListPickerLeftList&amp;quot;&lt;/span&gt;
            rowMainArea.Cells.Add(cellLeftList)

            cellButtons = &lt;span class="kwd"&gt;New&lt;/span&gt; TableCell
            cellButtons.ID = &lt;span class="st"&gt;&amp;quot;cellButtons&amp;quot;&lt;/span&gt;
            &lt;span class="cmt"&gt;&amp;#39;cellButtons.BorderWidth = 1
&lt;/span&gt;            cellButtons.SkinID = &lt;span class="st"&gt;&amp;quot;DoubleListPickerButtons&amp;quot;&lt;/span&gt;
            rowMainArea.Cells.Add(cellButtons)

            cellRightList = &lt;span class="kwd"&gt;New&lt;/span&gt; TableCell
            cellRightList.ID = &lt;span class="st"&gt;&amp;quot;cellRightList&amp;quot;&lt;/span&gt;
            &lt;span class="cmt"&gt;&amp;#39;cellRightList.BorderWidth = 1
&lt;/span&gt;            cellRightList.SkinID = &lt;span class="st"&gt;&amp;quot;DoubleListPickerRightList&amp;quot;&lt;/span&gt;
            rowMainArea.Cells.Add(cellRightList)


            tabLayoutTable.Rows.Add(rowRadioButtons)
            tabLayoutTable.Rows.Add(rowHeaderLabels)
            tabLayoutTable.Rows.Add(rowMainArea)

            &lt;span class="cmt"&gt;&amp;#39;Radio buttons
&lt;/span&gt;            RbtnShowTo = &lt;span class="kwd"&gt;New&lt;/span&gt; RadioButtonList
            RbtnShowTo.ID = &lt;span class="st"&gt;&amp;quot;RbtnShowTo&amp;quot;&lt;/span&gt;
            RbtnShowTo.Items.Add(&lt;span class="kwd"&gt;New&lt;/span&gt; ListItem(&lt;span class="st"&gt;&amp;quot;Show to all&amp;quot;&lt;/span&gt;, &lt;span class="st"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;))
            RbtnShowTo.Items.Add(&lt;span class="kwd"&gt;New&lt;/span&gt; ListItem(&lt;span class="st"&gt;&amp;quot;Show to specific&amp;quot;&lt;/span&gt;, &lt;span class="st"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;))
            RbtnShowTo.AutoPostBack = &lt;span class="st"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;
            RbtnShowTo.SkinID = &lt;span class="st"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
            &lt;span class="kwd"&gt;AddHandler&lt;/span&gt; RbtnShowTo.SelectedIndexChanged, &lt;span class="kwd"&gt;AddressOf&lt;/span&gt; RbtnShowTo_SelectedIndexChanged
            cellRadioButtons.Controls.Add(RbtnShowTo)

            &lt;span class="cmt"&gt;&amp;#39;Left List
&lt;/span&gt;            lblLeftListHeading = &lt;span class="kwd"&gt;New&lt;/span&gt; Label
            lblLeftListHeading.ID = &lt;span class="st"&gt;&amp;quot;lblLeftListHeading&amp;quot;&lt;/span&gt;
            lblLeftListHeading.Text = &lt;span class="st"&gt;&amp;quot;Available&amp;quot;&lt;/span&gt;
            lblLeftListHeading.SkinID = &lt;span class="st"&gt;&amp;quot;LeftList&amp;quot;&lt;/span&gt;
            cellLeftHeader.Controls.Add(lblLeftListHeading)

            lbxLeftList = &lt;span class="kwd"&gt;New&lt;/span&gt; ListBox
            lbxLeftList.ID = &lt;span class="st"&gt;&amp;quot;lbxLeftList&amp;quot;&lt;/span&gt;
            lbxLeftList.SkinID = &lt;span class="st"&gt;&amp;quot;DoubleListPickerLeftList&amp;quot;&lt;/span&gt;
            cellLeftList.Controls.Add(lbxLeftList)

            &lt;span class="cmt"&gt;&amp;#39;Right List
&lt;/span&gt;            lblRightListHeading = &lt;span class="kwd"&gt;New&lt;/span&gt; Label
            lblRightListHeading.ID = &lt;span class="st"&gt;&amp;quot;lblRightListHeading&amp;quot;&lt;/span&gt;
            lblRightListHeading.Text = &lt;span class="st"&gt;&amp;quot;Show to&amp;quot;&lt;/span&gt;
            lblRightListHeading.SkinID = &lt;span class="st"&gt;&amp;quot;RightList&amp;quot;&lt;/span&gt;
            cellRightHeader.Controls.Add(lblRightListHeading)

            lbxRightList = &lt;span class="kwd"&gt;New&lt;/span&gt; ListBox
            lbxRightList.ID = &lt;span class="st"&gt;&amp;quot;lbxRightList&amp;quot;&lt;/span&gt;
            lbxRightList.SkinID = &lt;span class="st"&gt;&amp;quot;DoubleListPickerRightList&amp;quot;&lt;/span&gt;
            cellRightList.Controls.Add(lbxRightList)

            &lt;span class="cmt"&gt;&amp;#39;Buttons
&lt;/span&gt;            btnAdd = &lt;span class="kwd"&gt;New&lt;/span&gt; Button
            btnAdd.ID = &lt;span class="st"&gt;&amp;quot;btnAdd&amp;quot;&lt;/span&gt;
            btnAdd.Text = &lt;span class="st"&gt;&amp;quot;Add --&amp;gt;&amp;quot;&lt;/span&gt;
            btnAdd.SkinID = &lt;span class="st"&gt;&amp;quot;DoubleListPickerAddButton&amp;quot;&lt;/span&gt;
            &lt;span class="kwd"&gt;AddHandler&lt;/span&gt; btnAdd.Click, &lt;span class="kwd"&gt;AddressOf&lt;/span&gt; btnAdd_Click

            cellButtons.Controls.Add(btnAdd)

            litBreak = &lt;span class="kwd"&gt;New&lt;/span&gt; Literal
            litBreak.ID = &lt;span class="st"&gt;&amp;quot;litBreak&amp;quot;&lt;/span&gt;
            litBreak.Text = &lt;span class="st"&gt;&amp;quot;&amp;lt;br/&amp;gt;&amp;quot;&lt;/span&gt;
            cellButtons.Controls.Add(litBreak)

            btnRemove = &lt;span class="kwd"&gt;New&lt;/span&gt; Button
            btnRemove.ID = &lt;span class="st"&gt;&amp;quot;btnRemove&amp;quot;&lt;/span&gt;
            btnRemove.Text = &lt;span class="st"&gt;&amp;quot;&amp;lt;-- Remove&amp;quot;&lt;/span&gt;
            btnRemove.SkinID = &lt;span class="st"&gt;&amp;quot;DoubleListPickerRemoveButton&amp;quot;&lt;/span&gt;
            &lt;span class="kwd"&gt;AddHandler&lt;/span&gt; btnRemove.Click, &lt;span class="kwd"&gt;AddressOf&lt;/span&gt; btnRemove_Click
            cellButtons.Controls.Add(btnRemove)


        &lt;span class="kwd"&gt;End Sub
#End Region

#Region &lt;span class="st"&gt;&amp;quot;Methods&amp;quot;&lt;/span&gt;&lt;/span&gt;
        &lt;span class="kwd"&gt;Public Sub&lt;/span&gt; RbtnShowTo_SelectedIndexChanged(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; sender &lt;span class="kwd"&gt;As Object&lt;/span&gt;, &lt;span class="kwd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwd"&gt;As&lt;/span&gt; System.EventArgs)
            &lt;span class="kwd"&gt;Select Case&lt;/span&gt; RbtnShowTo.SelectedValue
                &lt;span class="kwd"&gt;Case&lt;/span&gt; ShowToOptions.NoneSelected
                    rowMainArea.Visible = &lt;span class="kwd"&gt;False&lt;/span&gt;
                    rowHeaderLabels.Visible = &lt;span class="kwd"&gt;False
                Case&lt;/span&gt; ShowToOptions.ShowToAll
                    rowMainArea.Visible = &lt;span class="kwd"&gt;False&lt;/span&gt;
                    rowHeaderLabels.Visible = &lt;span class="kwd"&gt;False
                Case&lt;/span&gt; ShowToOptions.ShowToSpecific
                    rowMainArea.Visible = &lt;span class="kwd"&gt;True&lt;/span&gt;
                    rowHeaderLabels.Visible = &lt;span class="kwd"&gt;True
            End Select&lt;/span&gt;
            &lt;span class="cmt"&gt;&amp;#39;Runs the raiseevent which is where the developer can incorporate their own actions
&lt;/span&gt;            &lt;span class="kwd"&gt;RaiseEvent&lt;/span&gt; RadioButtonSelectedIndexChanged(sender, e)
        &lt;span class="kwd"&gt;End Sub

        Public Sub&lt;/span&gt; btnAdd_Click(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; sender &lt;span class="kwd"&gt;As Object&lt;/span&gt;, &lt;span class="kwd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwd"&gt;As&lt;/span&gt; System.EventArgs)
            &lt;span class="kwd"&gt;Dim&lt;/span&gt; TempleftCollection &lt;span class="kwd"&gt;As Object&lt;/span&gt;
            TempleftCollection = LeftCollection
            &lt;span class="kwd"&gt;Dim&lt;/span&gt; TempRightCollection &lt;span class="kwd"&gt;As Object&lt;/span&gt;
            TempRightCollection = RightCollection

            &lt;span class="kwd"&gt;Dim&lt;/span&gt; Counter &lt;span class="kwd"&gt;As Integer&lt;/span&gt; = 0
            &lt;span class="kwd"&gt;For Each&lt;/span&gt; MyLeftDataListItem &lt;span class="kwd"&gt;As&lt;/span&gt; ListItem &lt;span class="kwd"&gt;In&lt;/span&gt; lbxLeftList.Items
                &lt;span class="kwd"&gt;If&lt;/span&gt; MyLeftDataListItem.Selected = &lt;span class="kwd"&gt;True Then&lt;/span&gt;
                    TempRightCollection.add(LeftCollection.item(Counter))
                    TempleftCollection.removeAt(Counter)
                &lt;span class="kwd"&gt;Else&lt;/span&gt;
                    Counter = Counter + 1
                &lt;span class="kwd"&gt;End If
            Next&lt;/span&gt;

            lbxLeftList.DataSource = TempleftCollection
            lbxLeftList.DataBind()

            lbxRightList.DataSource = TempRightCollection
            lbxRightList.DataBind()
            &lt;span class="cmt"&gt;&amp;#39;Runs the raiseevent which is where the developer can incorporate their own actions
&lt;/span&gt;            &lt;span class="kwd"&gt;RaiseEvent&lt;/span&gt; AddButtonClicked(sender, e)
        &lt;span class="kwd"&gt;End Sub


        Public Sub&lt;/span&gt; btnRemove_Click(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; sender &lt;span class="kwd"&gt;As Object&lt;/span&gt;, &lt;span class="kwd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwd"&gt;As&lt;/span&gt; System.EventArgs)
            &lt;span class="kwd"&gt;Dim&lt;/span&gt; TempleftCollection &lt;span class="kwd"&gt;As Object&lt;/span&gt;
            TempleftCollection = LeftCollection
            &lt;span class="kwd"&gt;Dim&lt;/span&gt; TempRightCollection &lt;span class="kwd"&gt;As Object&lt;/span&gt;
            TempRightCollection = RightCollection

            &lt;span class="kwd"&gt;Dim&lt;/span&gt; Counter &lt;span class="kwd"&gt;As Integer&lt;/span&gt; = 0
            &lt;span class="kwd"&gt;For Each&lt;/span&gt; MyRightDataListItem &lt;span class="kwd"&gt;As&lt;/span&gt; ListItem &lt;span class="kwd"&gt;In&lt;/span&gt; lbxRightList.Items
                &lt;span class="kwd"&gt;If&lt;/span&gt; MyRightDataListItem.Selected = &lt;span class="kwd"&gt;True Then&lt;/span&gt;
                    TempleftCollection.add(RightCollection.item(Counter))
                    TempRightCollection.removeAt(Counter)
                &lt;span class="kwd"&gt;Else&lt;/span&gt;
                    Counter = Counter + 1
                &lt;span class="kwd"&gt;End If
            Next&lt;/span&gt;

            lbxLeftList.DataSource = TempleftCollection
            lbxLeftList.DataBind()

            lbxRightList.DataSource = TempRightCollection
            lbxRightList.DataBind()
            &lt;span class="cmt"&gt;&amp;#39;Runs the raiseevent which is where the developer can incorporate their own actions
&lt;/span&gt;            &lt;span class="kwd"&gt;RaiseEvent&lt;/span&gt; RemoveButtonClicked(sender, e)
        &lt;span class="kwd"&gt;End Sub&lt;/span&gt;







        &lt;span class="cmt"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; Loads in the collections into the control. This needs to be run the first time the control is loaded
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt;
        &amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;
&lt;/span&gt;        &lt;span class="kwd"&gt;Sub&lt;/span&gt; LoadControlData()
            EnsureChildControls()
            &lt;span class="cmt"&gt;&amp;#39;Load in the left List
&lt;/span&gt;            lbxLeftList.DataValueField = &lt;span class="kwd"&gt;Me&lt;/span&gt;.LeftCollectionDataValueField
            lbxLeftList.DataTextField = &lt;span class="kwd"&gt;Me&lt;/span&gt;.LeftCollectionDataTextField
            lbxLeftList.DataSource = LeftCollection
            lbxLeftList.DataBind()

            &lt;span class="cmt"&gt;&amp;#39;Load in th eright List
&lt;/span&gt;            lbxRightList.DataValueField = &lt;span class="kwd"&gt;Me&lt;/span&gt;.RightCollectionDataValueField
            lbxRightList.DataTextField = &lt;span class="kwd"&gt;Me&lt;/span&gt;.RightCollectionDataTextField
            lbxRightList.DataSource = RightCollection
            lbxRightList.DataBind()



        &lt;span class="kwd"&gt;End Sub
#End Region

        Protected Overrides Sub&lt;/span&gt; Render(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; writer &lt;span class="kwd"&gt;As&lt;/span&gt; HtmlTextWriter)
            tabLayoutTable.RenderControl(writer)
        &lt;span class="kwd"&gt;End Sub


    End Class
End Namespace&lt;/span&gt;

&lt;/pre&gt;&amp;nbsp;</description></item><item><title>Re: 'Error Creating Control' ... 'true' could not be set on property 'ShowRadioButtons'</title><link>http://forums.asp.net/thread/1795200.aspx</link><pubDate>Tue, 10 Jul 2007 07:32:54 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1795200</guid><dc:creator>sujitm</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1795200.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=19&amp;PostID=1795200</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Hi, 
&lt;p&gt;Try using BrowsableAttribute on the property like:&lt;/p&gt;&lt;pre class="coloredcode"&gt;&amp;lt;Browable(&lt;span class="kwd"&gt;True&lt;/span&gt;)&amp;gt;_
&lt;span class="kwd"&gt;Public Property&lt;/span&gt; ShowRadioButtons() &lt;span class="kwd"&gt;As Boolean&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Is it possible for you to post the source code of the entire control here?&lt;/p&gt;</description></item><item><title>'Error Creating Control' ... 'true' could not be set on property 'ShowRadioButtons'</title><link>http://forums.asp.net/thread/1793317.aspx</link><pubDate>Mon, 09 Jul 2007 08:54:53 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1793317</guid><dc:creator>Bow99</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1793317.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=19&amp;PostID=1793317</wfw:commentRss><description>&lt;p&gt;I have created a custom control which inherits from a compositeControl.&lt;/p&gt;
&lt;p&gt;Its all works well in the browser but when I show it in the design mode I geta gray box with the following message&lt;/p&gt;
&lt;p&gt;Error Creating Control - GroupPicker1&lt;br /&gt;&amp;#39;true&amp;#39; could not be set on property &amp;#39;ShowRadioButtons&amp;#39;.&lt;/p&gt;
&lt;p&gt;The Property is a fairly standard get and set&lt;/p&gt;
&lt;p&gt;&lt;span class="kwd"&gt;Public Property&lt;/span&gt; ShowRadioButtons() &lt;span class="kwd"&gt;As Boolean&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return&lt;/span&gt; rowRadioButtons.Visible&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;End Get&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&lt;/span&gt;(&lt;span class="kwd"&gt;ByVal&lt;/span&gt; value &lt;span class="kwd"&gt;As Boolean&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EnsureChildControls()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowRadioButtons.Visible = value&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;End Set&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;/span&gt; 
&lt;p&gt;Any help much appreciated&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>