此代码包含在带有按钮的文本框中。 在测试中,一切都是肉汁,除了当你点击Button1时,它总是从第二行而不是第一行开始抛出数据。单击Button2会将其抛给第一行,但它会破坏应用程序的目的。 Button1是一个开始按钮,Button2是一个停止按钮。我知道它与+ =有关,但只是把它设置为=拧紧所有东西。有什么想法吗?
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Timer1.Start()
TextBox1.Text += Date.Now.ToString("H:mm")
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim space As String = " "
Timer1.Start()
TextBox1.Text += " " + Date.Now.ToString("H:mm") & vbCrLf
End Sub
答案 0 :(得分:0)
如果您使用TextBox设置为多行,则可以使用TextBox的AppendText方法,使用String.Format或连接字符串值以及将Environment.NewLine附加到特定TextBox到所有行。
e.g。
TextBox1.AppendText(
String.Format(" {0}{1}",
Now.ToString("H:mm"),
Environment.NewLine))
如果定位Framework 3.5或更高版本,我们还可以通过采取步骤并创建语言扩展方法来实现这一目标
Public Module LanguageExtensions
<System.Diagnostics.DebuggerStepThrough()>
<System.Runtime.CompilerServices.Extension()>
Public Sub AppendHoursMinutes(ByRef sender As TextBox)
sender.AppendText(
String.Format(" {0}{1}",
Now.ToString("H:mm"),
Environment.NewLine))
End Sub
End Module
使用上面的扩展名
TextBox1.AppendHoursMinutes
我们还可以创建一个没有回车符附加的方法
public Module LanguageExtensions
<System.Diagnostics.DebuggerStepThrough()>
<System.Runtime.CompilerServices.Extension()>
Public Sub AppendHoursMinutes(ByRef sender As TextBox)
sender.AppendText(
String.Format(" {0}{1}",
Now.ToString("H:mm"),
Environment.NewLine))
End Sub
<System.Diagnostics.DebuggerStepThrough()>
<System.Runtime.CompilerServices.Extension()>
Public Sub AppendHoursMinutesSameLine(ByRef sender As TextBox)
sender.Text = String.Concat(sender.Text, " ", Now.ToString("H:mm"))
End Sub
End Module