vba窗体中如何将多个textbox的值用固定的字符串连接起来输入到指定的textbox

比如已知:
textbox1.value=x
textbox2.value=y
textbox3.value=z
我需要达到的效果是:
textbox4.value=根据已知数据,长度为x,宽度为y,计算得到面积为z

img

img

Private Sub TextBox1_Change()
    Cal
End Sub

Private Sub TextBox2_Change()
    Cal
End Sub


Sub Cal()
    On Error GoTo ErrorLab
    x = Me.TextBox1.Text
    y = Me.TextBox2.Text
    If x = "" Or y = "" Then
        Me.TextBox3.Text = ""
        Me.TextBox4.Text = ""
        Exit Sub
    End If
    Z = x * y
    Me.TextBox3.Text = Z
    Me.TextBox4.Text = "根据已知数据,长度为" & x & ",宽度为" & y & ",计算得到面积为" & Z
    '如果正常可以退出下面的异常处理
    Exit Sub
ErrorLab:   '这里可以处理异常
    Me.TextBox3.Text = ""
    Me.TextBox4.Text = Error
End Sub

是要实时计算吗?实时计算的话,在textbox1、2、3的Leave事件里监听内容变化,然后给textbox4赋值就可以了,参考代码:

      private void textBox1_Leave(object sender, EventArgs e)
        {
            var val1 = Convert.ToDecimal(textBox1.Text);
            var val2 = Convert.ToDecimal(textBox2.Text);
            var val3 = Convert.ToDecimal(textBox3.Text);

            var val4 = val1 * val2 * val3;

            this.textBox4.Text = val4+"";

        }


如果不是实时计算,比如点一个按钮触发,那就在按钮事件里把上面代码复制进去即可
注意啊,上面代码没有对textbox1、2、3输入的内容进行判断,有可能输入不合法的非数字字符,这时候就需要你去判断了,我这里省略了