Vb.net 如何在文本框中即时检查用户所做的更改?
该程序允许通过主窗体上的“修改”按钮修改文本区域。使用一种结构,我从一个文本文件中读取和存储行,并根据行号填充3个文本框。另一方面,为了让用户在必要时修改这些区域中的内容,我需要知道哪些文本区域已被修改!克劳德。 这是我的密码:Vb.net 如何在文本框中即时检查用户所做的更改?,vb.net,textbox,structure,Vb.net,Textbox,Structure,该程序允许通过主窗体上的“修改”按钮修改文本区域。使用一种结构,我从一个文本文件中读取和存储行,并根据行号填充3个文本框。另一方面,为了让用户在必要时修改这些区域中的内容,我需要知道哪些文本区域已被修改!克劳德。 这是我的密码: Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click ' Modifier Dim bibliotheque As New
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
' Modifier
Dim bibliotheque As New article
With bibliotheque
.Title = TextBox1.Text
.Name = TextBox2.Text
.Charge = TextBox3.Text
End With
Dim fileName As String = "c:\essai.librairie"
Dim someString As String = Trim(TextBox2.Text)
Dim lignes As String() = File.ReadAllLines(fileName, Encoding.UTF8)
Dim found As Integer = -1
For i As Integer = 0 To lignes.Length - 1
If lignes(i).Contains(someString) Then
found = i
Exit For
End If
Next
Dim lines As String() = File.ReadAllLines("c:\essai.librairie", Encoding.UTF8)
lines(found) = bibliotheque.Title.PadRight(17, " "c).ToString & bibliotheque.Name.PadRight(90, " "c).ToString & bibliotheque.Charge.PadRight(120, " "c).ToString
MessageBox.Show("Enregistrer les données modifiées ?",
"Prénommer", MessageBoxButtons.OKCancel,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)
If Windows.Forms.DialogResult.OK Then
File.WriteAllLines("c:\essai.librairie", lines, Encoding.UTF8)
Using fStream As New FileStream("c:\essai.librairie", FileMode.Open, FileAccess.ReadWrite, FileShare.None)
fStream.SetLength(fStream.Length - Environment.NewLine.Length)
End Using
Else
Exit Sub
End If
End Sub
您可以使用事件
txtbox1.changed
或txtbox1.leave
执行操作或将该文本框标记为已更改。每次更改字符时,.changed
事件都会触发.leave
仅在焦点离开文本框时触发。这就是您要查找的内容吗?您可以对文本框使用TextChanged
处理程序。例如,private子myhandler(发送者作为对象,e作为事件参数)处理与主题相关的txtbox1.TextChanged、txtbox2.TextChanged、txtbox3.TextChanged
Public Property lst作为新列表(字符串)uuuu来自{TextBox1.Text、TextBox2.Text、TextBox3.Text},我不能写上面的代码?你可以在stackoverflow上找到这样的例子