我正在尝试用其他字符串替换多行文本框中的一行。首先,我正在搜索文本框,如果找到匹配项,那么我试图替换整行。但是,到目前为止我的测试失败了。有什么想法吗?
If txtImageMap.Text.IndexOf(sSelectedControl, 0, StringComparison.CurrentCultureIgnoreCase) > -1 Then
' Found
For i = 0 To txtImageMap.Lines.Length - 1
If txtImageMap.Lines(i).StartsWith(sSelectedControl) Then
txtImageMap.Lines(i) = txtImageMap.Lines(i).Replace(txtImageMap.Lines(i), sEntry)
End If
Next
txtImageMap.Refresh()
End If
答案 0 :(得分:1)
我对VB.Net并不熟悉,但这可能有所帮助:
Dim tempArray() as String
tempArray = txtImageMap.Lines
For i = 0 To tempArray.Length - 1
If tempArray(i).StartsWith(sSelectedControl) Then
tempArray(i) = tempArray(i).Replace(tempArray(i), sEntry)
End If
Next
txtImageMap.Lines = tempArray
我在C#中做过同样的事情。 (我猜它是相同的。行数组是一个只读数组,所以你必须通过tempArray去)