Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 修改RadCheckedDropDownList的文本_Vb.net_Winforms_User Controls_Telerik - Fatal编程技术网

Vb.net 修改RadCheckedDropDownList的文本

Vb.net 修改RadCheckedDropDownList的文本,vb.net,winforms,user-controls,telerik,Vb.net,Winforms,User Controls,Telerik,我正在Winform应用程序的面板内动态添加和填充RadCheckedDropDownList RadCheckedDropDownList的当前功能是,如果我从列表中选择多个值,这些值将在组合框中列出,并用分隔符分隔。如下图所示 我的问题是如何将显示的值更改为“多个”,而不是在选择多个值时显示由分隔符分隔的值。最好是在不使用标记的情况下仅读取多个值。为此,您可以在控件的可编辑部分添加一个新元素,它将负责显示您的文本,而不会弄乱控制功能 然后您可以使用ItemCheckedChanged事件,

我正在Winform应用程序的面板内动态添加和填充RadCheckedDropDownList

RadCheckedDropDownList的当前功能是,如果我从列表中选择多个值,这些值将在组合框中列出,并用分隔符分隔。如下图所示


我的问题是如何将显示的值更改为“多个”,而不是在选择多个值时显示由分隔符分隔的值。最好是在不使用标记的情况下仅读取多个值。

为此,您可以在控件的可编辑部分添加一个新元素,它将负责显示您的文本,而不会弄乱控制功能

然后您可以使用ItemCheckedChanged事件,该事件将在检查项目时触发,在这里您可以看到当前检查了多少项目,如果有多个项目,则使用文本显示元素并隐藏标记

Protected Overrides Sub OnLoad(e As EventArgs)
    MyBase.OnLoad(e)

    AddCheckedDropDownList()
    AddHandler radCheckedDropDownList1.ItemCheckedChanged, AddressOf radCheckedDropDownList1_ItemCheckedChanged

    radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.Children.Add(New LightVisualElement() With { _
        Key .Text = "Multiple" _
    })
    AdjustControlText()
End Sub

Private Sub radCheckedDropDownList1_ItemCheckedChanged(sender As Object, e As RadCheckedListDataItemEventArgs)
    AdjustControlText()
End Sub

Private Sub AdjustControlText()
    If radCheckedDropDownList1.CheckedItems.Count > 1 Then
        radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.AutoCompleteTextBox.ViewElement.Visibility = Telerik.WinControls.ElementVisibility.Collapsed
        DirectCast(radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.Children(1), LightVisualElement).DrawText = True
    Else
        radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.AutoCompleteTextBox.ViewElement.Visibility = Telerik.WinControls.ElementVisibility.Visible
        DirectCast(radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.Children(1), LightVisualElement).DrawText = False
    End If
End Sub

为此,可以在控件的可编辑部分添加一个新元素,该元素将负责显示文本,而不会影响控件的功能

然后您可以使用ItemCheckedChanged事件,该事件将在检查项目时触发,在这里您可以看到当前检查了多少项目,如果有多个项目,则使用文本显示元素并隐藏标记

Protected Overrides Sub OnLoad(e As EventArgs)
    MyBase.OnLoad(e)

    AddCheckedDropDownList()
    AddHandler radCheckedDropDownList1.ItemCheckedChanged, AddressOf radCheckedDropDownList1_ItemCheckedChanged

    radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.Children.Add(New LightVisualElement() With { _
        Key .Text = "Multiple" _
    })
    AdjustControlText()
End Sub

Private Sub radCheckedDropDownList1_ItemCheckedChanged(sender As Object, e As RadCheckedListDataItemEventArgs)
    AdjustControlText()
End Sub

Private Sub AdjustControlText()
    If radCheckedDropDownList1.CheckedItems.Count > 1 Then
        radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.AutoCompleteTextBox.ViewElement.Visibility = Telerik.WinControls.ElementVisibility.Collapsed
        DirectCast(radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.Children(1), LightVisualElement).DrawText = True
    Else
        radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.AutoCompleteTextBox.ViewElement.Visibility = Telerik.WinControls.ElementVisibility.Visible
        DirectCast(radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.Children(1), LightVisualElement).DrawText = False
    End If
End Sub

“将显示值更改为多个”是什么意思?如果用户选择3个值,例如星期一、星期二、星期四。不显示“星期一;星期二;星期四”,它必须显示“多个”。将显示的值更改为多个是什么意思?如果用户选择3个值,例如星期一、星期二、星期四。它不能显示“星期一;星期二;星期四”,而必须显示“多个”。