Asp.net可输入下拉框服务器控件(2) _values = New Hashtable End Sub Public Property Values() As Hashtable Get Return _values End Get Set(ByVal Value As Hashtable) _values = Value End Set End Property Protected Overrides Sub Render(ByVal Output As System.Web.UI.HtmlTextWriter) Dim iWidth As Integer = MyBase.Width.Value If iWidth = 0 Then iWidth = 102 'MyBase.Width = Unit.Parse("102px") End If Dim sWidth As Integer = iWidth + 16 Dim spanWidth As Integer = sWidth - 18 Output.Write("<div style=""POSITION:relative"">") Output.Write("<span style=""MARGIN-LEFT:" & spanWidth & "px;OVERFLOW:hidden;WIDTH:18px"">") _DropDownList.Width = Unit.Parse(sWidth & "px") _DropDownList.Style.Add("MARGIN-LEFT", "-" & spanWidth & "px") _DropDownList.Attributes.Add("onchange", "this.parentNode.nextSibling.value=this.value") If _values.Count > 0 Then For Each key As String In _values.Keys