如何访问组合框派生类中的Format函数



我正在编写一个组合框自定义控件,无法使用Format()函数。编辑器将格式行标记为错误。

Public Class TestCombo
Inherits ComboBox
Protected Overrides Sub OnDrawItem(ByVal e As DrawItemEventArgs)
Dim MyStr = Format(5459.4, "##,##0.00")    ' The error is here.
End Sub
End Class

经过一点探索,我发现Combobox使用ListControl作为事件。如何告诉编辑器处理函数而不是事件?

正如您所注意到的,ComboBox类有一个名为Format的事件(它继承自ListControl(。因此,当您尝试在ComboBox中调用Format()函数时,编译器会认为您正在尝试使用该事件,因为它的范围最窄,因此会出现错误。

为了避免这种情况,您可以显式地调用声明Format()函数的模块名称(即Strings(:

Dim MyStr = Strings.Format(5459.4, "##,##0.00")

或者,您可以使用String.Format()ToString()(这是.NET中的标准方式(:

Dim MyStr2 = String.Format("{0:##,##0.00}", 5459.4)
Dim MyStr3 = 5459.4.ToString("##,##0.00")

相关内容

  • 没有找到相关文章

最新更新