到目前为止,我从未注意到Comboboxes上的奇怪行为。要了解发生了什么,您可以创建一个最小的示例。打开一个新项目,将文本框,两个组合框与transform-origin: 0 0;
transform: translateZ(-2px) scale(3);
height: 100vh;
(什么是首字母)和按钮放在上面,然后将以下代码粘贴到Form。
DropDownStyle=DropDown
发生的事情是,在按下Button1表格的情况下,字体大小会增加,而Comboboxes会选择他的文字!这样我的GUI就好了。
有人知道如何摆脱这种情况并使Comboboxes获得预期的功能吗?
答案 0 :(得分:2)
这似乎是框架中的一些问题。认为它是“有趣的行为”。但你可以这样做
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.Font = New Font(Me.Font.Name, Me.Font.Size + 1)
TextBox1.Focus()
ComboBox1.SelectionLength = 0
ComboBox2.SelectionLength = 0
End Sub
如果您在评论中指出的cbo是分类,而不是在超类中添加
Private Sub ComboBox2_Layout(sender As Object, e As LayoutEventArgs) Handles ComboBox2.Layout
DirectCast(sender, ComboBox).SelectionLength = 0
End Sub
这适用于表格
上的所有cboPrivate Sub Form1_Layout(sender As Object, e As LayoutEventArgs) Handles MyBase.Layout
For Each c As Control In Me.Controls
Dim combo As ComboBox = TryCast(c, ComboBox)
If combo IsNot Nothing AndAlso combo.DropDownStyle = ComboBoxStyle.DropDown Then
combo.SelectionLength = 0
End If
Next
End Sub