2016-11-18 50 views
0

現在我有這個添加行(如果存在)

txtRTB.Text = txtRTB.Text & vbNewLine & "Text2" 

有沒有我可以前加入這一行的方式,說:「文本1」,如果裏面txtRTB.Text存在線?

因此,例如,讓我們說,現在txtRTB.Text說:
文本1

我希望我的按鈕,或什麼的,前右它添加「文本2」,例如:
文本2
文本1

否則,只是將它加入下一行,像這樣:

隨機文本
文本2







[編輯] 所以我們可以說我有這個在我的富文本框:
蘋果
香蕉


如果我搜索「香蕉「沒有」s「並找到」香蕉「,我想在它之前添加」Strawberry「這樣的行:
個 蘋果
草莓
香蕉

否則,如果「香蕉」無法找到(如「香蕉」是不在名單上,那麼我想就在的頂部添加它像這樣的文本框:
草莓
蘋果

+0

舉一個你想要做的具體例子。 – Phil1970

+0

完成! (10char。) – lolikols

+0

那麼,這個例子確實有幫助。但是,規格仍然不完整。搜索文本是否需要單獨一行?如果不是,搜索到的文本是否在行首?另外,如果有多行包含該文本,是否要在包含文本的第一行之前插入文本? – Phil1970

回答

1

你必須得到搜索的文本行數,以便能夠將其插入:

Dim index As Integer = txtRTB.Find("Text1") 
If index > -1 Then 
    index = txtRTB.GetLineFromCharIndex(index) 
    index = txtRTB.GetFirstCharIndexFromLine(index) 
    txtRTB.Select(index, 0) 
    txtRTB.SelectedText = "Text2" & vbNewLine 
Else 
    txtRTB.AppendText("Text2" & vbNewLine) 
End If 

此外,添加文本時,使用附加文本:

'txtRTB.Text = txtRTB.Text & vbNewLine & "Text2" 
txtRTB.AppendText(vbNewLine & "Text2") 
+0

如果Text1找不到,那麼怎麼辦? – lolikols

+0

@lolikols更新後。 – LarsTech

+0

工作!謝謝! – lolikols

1

你試圖找到或查看是否字符串包含另一個字符串裏面?

如果是,那麼請嘗試以下操作: -

String valueTxtRTB = txtRTB.Text 

    if (valueTxtRTB.Contains("Text1")) 
     { 
      // Do Something // 
     } 
+0

那麼,如果他想在那個位置做點什麼的話,可能是'IndexOf' ... – Phil1970