【问题标题】:vb.net textbox not displaying text or colorsvb.net 文本框不显示文本或颜色
【发布时间】:2020-09-28 22:17:22
【问题描述】:

我有许多应用程序可以在文本框中可靠地显示数据和颜色。我复制了一个工作程序来创建一个新的应用程序。大约有 10 个文本框用于数据显示。有些正在工作-有些则没有。这里有 2 个示例 - Switch 代码适用于许多程序 - 但在这里它会将“ON”一词放在框中,但没有颜色,然后当开关关闭时 - 文本框没有变化。代码似乎不在乎 .AppendText 或 .text = 变量控件之间的关系。我尝试将文本框的属性更改为公共,但没有运气。我尝试添加 .show 对象,并在属性视图中验证了 .visible 属性。 DistanceUnitsOut 和 NextImageDistanceOut 也有类似的问题 - 我可以单步执行代码并查看值,但显示的数据不会改变!我已经尝试将显示的定义更改为公开 - 不高兴!

    SwitchStatusBox.clear
    SwitchStatusBox.AppendText(SwitchStatusIn)
    If SwitchStatusIn = "OFF" Then
        SwitchStatusBox.BackColor.Equals(Color.Red)
        SwitchStatusBox.Show()
        Switch_Is_On = False
    Else
        SwitchStatusBox.BackColor = Color.Green
        SwitchStatusBox.Show()
        Switch_Is_On = True
    End If

     If dDistance > 1.0 Then
        'show distance in Miles
        DistanceUnitsOut.Clear()
        DistanceUnitsOut.Text = "MI"
        NextImageDistanceOut.Clear()
        NextImageDistanceOut.Text = CType(dDistance, String)
    Else
        NextImageDistanceOut.Clear()
        NextImageDistanceOut.Text = CType(dDistanceFT, String)
        DistanceUnitsOut.Clear()
        DistanceUnitsOut.Text = "FT"
    End If  


    Private Sub NextImageDistanceOut_TextChanged(sender As Object, e As EventArgs) Handles 
             NextImageDistanceOut.TextChanged
 
     End Sub

     Private Sub DistanceUnitsOut_TextChanged(sender As Object, e As EventArgs) Handles 
                DistanceUnitsOut.TextChanged

     End Sub

【问题讨论】:

  • SwitchStatusBox.BackColor.Equals(Color.Red) Equals 对你有什么好处?
  • 下面三行你已经正确设置了颜色。我认为这段代码在其他项目中不起作用。
  • Equals 是一个返回布尔值的函数。

标签: vb.net textbox


【解决方案1】:

查看 .Equals 函数的工作原理...

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim a = TextBox1.BackColor.Equals(Color.Red)
    Debug.Print(a.ToString)
End Sub

在我的测试应用中,这会在即时窗口中打印 False。

【讨论】:

  • 我认为用户只是想拥有...BackColor = Color.Red
  • 嗨 - 感谢您捕捉到 'equals' 行 - 不太清楚它在哪里出现 - 原始程序使用“=”运算符。我更正了那条线,可以单步执行 if 语句并且颜色没有变化。请注意,else 条件使用正确的语法。仍在尝试理解未显示的文本 - NextImageDistanceOut 和 DistanceUnitsOut。是例子。谢谢
【解决方案2】:

答案是前段时间我开始使用 后跟 TEXT =,如:

       NextImageDistanceOut.Text = CType(dDistanceFT, String)

有效的是:

      NextImageDistanceOut.Appendtext(CStr(dDistanceFT))

我仍然不明白为什么第一个不起作用 - 两者都需要以前的

     NextImageDistanceOut.Clear

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 2021-04-19
    • 2013-04-05
    • 2019-06-26
    • 2020-11-06
    • 2010-09-29
    相关资源
    最近更新 更多