VB.NET RTB行计数器?

时间:2016-01-27 22:11:40

标签: vb.net visual-studio

我试图为富文本框控件创建一个简单的行计数器。现在,我在框的左侧有一个标签,使用以下代码:

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Label2.Text = RichTextBox1.Lines.Count()

End Sub

这很好用。与按钮相同,它只会更新数字。我遇到的问题是使用此代码:

    Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged

    Label2.Text = Label2.Text + RichTextBox1.Lines.Count() + Environment.NewLine

我明白了:

未处理的类型' System.InvalidCastException'发生在Microsoft.VisualBasic.dll

其他信息:从字符串"

转换

"输入' Double'无效。

任何修复?感谢

2 个答案:

答案 0 :(得分:0)

在VB.NET中连接字符串的运算符是&字符,而不是+字符。 RichTextBox1.Lines.Count()返回Integer类型的值;为了返回该值的字符串表示,您应该调用ToString()方法。

尝试使用此代码:

Label2.Text &= RichTextBox1.Lines.Count.ToString() & Environment.NewLine

每次执行代码时,都会将行计数值附加到标签的末尾。但是,如果您创建的行计数器只会报告RichTextBox中的行数,我建议使用以下内容:

Label2.Text = RichTextBox1.Lines.Count.ToString()

答案 1 :(得分:-1)

你能尝试吗,

Label2.Text = Label2.Text + System.Convert.ToString(RichTextBox1.Lines.Count())+ Environment.NewLine