【问题标题】:How to remove highlight of combobox when an Item is selected in Vb?在Vb中选择项目时如何删除组合框的突出显示?
【发布时间】:2016-08-07 10:48:34
【问题描述】:

在加载页面事件中:

我从数据库中读取了一些数据,然后将此数据添加到组合框,然后选择一个项目作为默认项,并将组合框的启用更改为 false。 当我加载此页面时,选择的项目以蓝色突出显示。

如何去掉这个高亮?

【问题讨论】:

  • 没有。 VB.net。我在 selectIndexChanged 中写了 ComboBox1.selectionLenth=0 但它不起作用
  • VB.NET 可用于不同类型的项目:ASP.NET、Windows 窗体、WPF 等。ASP.NET 是一种以 VB.NET 或 C# 作为后端代码的网站语言。 -- 那么这就是 Windows 窗体吗? (我询问了 ASP.NET,因为我对你说 “加载 page 事件” 做出了反应)

标签: vb.net winforms combobox highlight


【解决方案1】:

您可以修改它的SelectionLength property,它获取或设置选择了多少个字符(突出显示)。

选择默认项后,只需将其设置为0,就可以了:

ComboBox1.SelectionLength = 0

编辑:

在您的情况下,此代码在 Load 事件完成之前执行。因此,该表单尚未呈现,这就是它不适合您的原因。

简单的解决方法是将其添加到表单的 Shown 事件中:

Private Sub Form1_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown
    ComboBox1.SelectionLength = 0
End Sub

如果您不希望插入符号位于开头,也可以添加此行以将其设置为文本的末尾:

ComboBox1.SelectionStart = ComboBox1.Text.Length

【讨论】:

  • @user3560351 :请定义“不工作”,因为这并不能告诉我任何事情。
  • 我不知道是什么问题 :( 我尝试了各种方法来解决它。但我做不到
  • same here, Visual Studio 2016, vb net.. 它忽略 selectionstart 或 selectionlength 并突出显示所选元素。
  • @Zibri:你能解释一下你的反对意见吗?这适用于 WinForms,但 OP 没有说明它是否是 ASP.NET。
【解决方案2】:

建议的解决方案在 VB.NET 2016 中不起作用 最简单的方法是将焦点传递给另一个元素,例如 SelectedIndexChanged 事件中的标签

【讨论】:

  • 您使用的是 WinForms 还是 ASP.NET? VB.NET 版本通常无关紧要,但 .NET 版本可能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-01
  • 1970-01-01
  • 2014-02-17
  • 1970-01-01
  • 2021-02-03
  • 1970-01-01
相关资源
最近更新 更多