允许文本框.文本接受不同的类型

本文关键字:文本 类型 许文本 | 更新日期: 2023-09-27 18:08:36

我正在把一个VB程序翻译成c#。VB程序有一个WinForm控件,在设置部分,使用了以下代码:

Me.xXXTextBox.Text = Me._settings.XXX
唯一的问题是上面的RHS不是字符串,而是
Public Property XXX() As Single
    Get
        Return Me._xXX
    End Get
    Set(ByVal value As Single)
        If value <> Me._xXX Then
            Me._xXX = value
            Me._dirty = True
        End If
    End Set
End Property

我如何在c#中做上面的请?我已经把代码翻译成c#,但我不能得到越过" mismatch "类型

在VB程序中,TextBox被实现为继承TextBoxNumericTextBox。我已经在c#中实现了这一点,但仍然没有去。

我错过了一些东西,但我不知道它是什么

允许文本框.文本接受不同的类型

VB通常允许c#不允许的隐式转换,因此在第一眼我建议使用_settings.XXX.ToString()

然而,在看了你问题的最后一段之后,我不那么确定了。您需要检查VB源代码,看看NumericTextBox.Text应该是String还是Single类型。如果它是单一的,你需要在你的c#翻译中实现相同的。如果是字符串,则需要使用ToString方法。

single转换为string。c#在显式类型转换方面不像VB那么容易。. NET(你应该对此感到高兴):

this.xXXTextBox.Text = Convert.ToString(this._settings.XXX)

this.xXXTextBox.Text = this._settings.XXX.ToString()