我的文本框中如何用2个字符代替1个字符?

时间:2018-12-27 10:21:40

标签: vb.net

我的问题很简单。此代码仅适用于txtDraw(字母)和Y。 示例:txtDrawA1,txtDrawA2,依此类推。我要使此代码的工作方式如下:txtDrawAA1,txtDrawAA2,将一个字符替换为2个字符。

此代码:Dim tbName = "txtDraw" & Chr(64 + x) & y

Private Sub txtDrawSum()
    On Error Resume Next
    For y = 1 To 8
        Dim sum = 0
        For x = 16 To 30
            Dim tbName = "txtDraw" & Chr(64 + x) & y
            sum += CInt(Tab3.TabPages(1).Controls(tbName).Text)
        Next
        TabControl2.TabPages(4).Controls("SumDrawA" & (0 + y)).Text = sum.ToString()
    Next
End Sub

2 个答案:

答案 0 :(得分:2)

好吧,简单的解决方案是将Chr(64 + x)重复两次,即:

Dim tbName = "txtDraw" & Chr(64 + x) & Chr(64 + x) & y 

但更好的方法是使用String构造函数:

Dim tbName = "txtDraw" &  New String(Chr(64 + x), 2) & y

Strings.StrDup

Dim tbName = "txtDraw" & StrDup(2, Chr(64 + x)) & y

这更好,因为突然说您想重复10次该字符,而不必像第一个示例一样重复代码。


顺便说一句,您可能想使用字符串插值来清理串联:

Dim tbName = $"txtDraw {StrDup(2, Chr(64 + x))} {y}"

答案 1 :(得分:0)

尝试使用替换功能。

OldString.ToString().Replace("txtDrawA","txtDrawAA")