Vb.net 将文本同时放在其他位置的两个文本框中

Vb.net 将文本同时放在其他位置的两个文本框中,vb.net,Vb.net,嘿,我想在两个不同的文本框中插入文本,也在标记中插入文本 因此,我有一个空文本框,当您单击我的按钮时,它将执行以下操作: Dim myNum As String Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click myNum = InputBox("Please input a Color code. Dont fo

嘿,我想在两个不同的文本框中插入文本,也在标记中插入文本

因此,我有一个空文本框,当您单击我的按钮时,它将执行以下操作:

    Dim myNum As String

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    myNum = InputBox("Please input a Color code. Dont forget the # for the code Example: #000000")
    Dim insertText = "[color=" + myNum + "]" + "[/color]"
    Dim insertText2 = "<font color=" + DubbelQ + myNum + DubbelQ + "></font>"
    Dim insertPos As Integer = TextBox1.SelectionStart

    TextBox2.Text = TextBox2.Text.Insert(insertPos, insertText2)
    TextBox2.SelectionStart = insertPos + insertText2.Length
    TextBox1.Text = TextBox1.Text.Insert(insertPos, insertText)
    TextBox1.SelectionStart = insertPos + insertText.Length
End Sub
Dim myNum作为字符串
私有子按钮1\u单击(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理按钮1。单击
myNum=InputBox(“请输入颜色代码。不要忘记代码示例的#000000”)
Dim insertText=“[color=“+myNum+”]”“+”[/color]”
Dim insertText2=“”
Dim insertPos作为整数=文本框1.SelectionStart
TextBox2.Text=TextBox2.Text.Insert(insertPos,insertText2)
TextBox2.SelectionStart=insertPos+insertText2.Length
TextBox1.Text=TextBox1.Text.Insert(insertPos,insertText)
TextBox1.SelectionStart=insertPos+insertText.Length
端接头

但是,当我想在标签中添加另一种颜色时,它就不起作用了]这里[

这是因为您使用的是第二个文本框上第一个文本框的SelectionStart。 如果希望XTBox2正常工作,您需要找到一种方法来计算正确的插入点

根据标签的不同长度,您需要在第二个文本框中使用insertPos+6

请尝试以下代码:

lq As String=“”
Dim myNum作为字符串
Dim NumberOfColorTags作为整数=0
私有子按钮1\u单击(发送者作为对象,e作为事件参数)处理按钮1。单击
myNum=InputBox(“请输入颜色代码。不要忘记代码示例的#000000”)
Dim insertText=“[color=“+myNum+”]”“+”[/color]”
Dim insertText2=“”
Dim insertPos作为整数=文本框1.SelectionStart
Dim insertPos2为整数=insertPos+=(6*NumberOfColorTags)
TextBox2.Text=TextBox2.Text.Insert(insertPos2,insertText2)
TextBox2.SelectionStart=insertPos2+insertText2.Length
TextBox1.Text=TextBox1.Text.Insert(insertPos,insertText)
TextBox1.SelectionStart=insertPos+insertText.Length
彩色标签数++
端接头

再三考虑,您需要为每个标记添加6个。要做到这一点,您需要一个计数器。因此,我已编辑了我的答案以使用该计数器。非常感谢,但我在indertpos2和NumberOfColorTags++以及+=(6*NumberOfColorTags)上遇到了一些错误错误是:方法参数必须括在括号中4表达式不是预期的方法6表达式我修复了+=(6*NumberOfColorTags)上的错误它必须是=+而不是+=所以不是InsertPos2也是固定的好吧,从我的vb.net时代开始已经有一段时间了,但是我非常确定它应该支持+=和++运算符。如果不是,你可以一直编写它:insertPos=insertPos+(6*NumberOfColorTags)和NumberOfColorTags=NumberOfColorTags+1谢谢!这对我很有用。
Dim DubbelQ As String = """"
Dim myNum As String
Dim NumberOfColorTags As Integer = 0  
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    myNum = InputBox("Please input a Color code. Dont forget the # for the code Example: #000000")
    Dim insertText = " [color=" + myNum + "]" + "[/color]"
    Dim insertText2 = "<font color=" + DubbelQ + myNum + DubbelQ + "></font>"
    Dim insertPos As Integer = TextBox1.SelectionStart
    Dim insertPos2 As Integer = insertPos += (6 * NumberOfColorTags)

    TextBox2.Text = TextBox2.Text.Insert(insertPos2, insertText2)
    TextBox2.SelectionStart = insertPos2 + insertText2.Length
    TextBox1.Text = TextBox1.Text.Insert(insertPos, insertText)
    TextBox1.SelectionStart = insertPos + insertText.Length
    NumberOfColorTags++
End Sub