You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Basic中dlgInfo赋值语句+号报语法错误的原因及解决方法

问题原因
  • 核心问题是Visual Basic默认按行识别独立语句,你第一行的赋值语句在vbCrLf后直接换行,没有标记行延续,编译器会把第二行开头的" Tanggal Lahir : "识别为独立的非法语句,自然会抛出语法错误。
  • 额外优化点:VB中做字符串拼接更推荐用&运算符而非+,+遇到数值类型时会优先执行算术加法,容易触发隐式类型转换报错,&则会强制将两边操作数转为字符串后拼接,稳定性更高。
修复方案

方案1:显式加行续符(兼容所有VB版本)

在第一行末尾加 _(空格加下划线)标记下一行是当前语句的延续,同时把+替换为&,代码如下:

dlgInfo.Show()
dlgInfo.txtInfo.Text = " Nama : " & txtnama.Text & vbCrLf _
         & " Tanggal Lahir : " & timTanggalLahir.Text & vbCrLf & " Jenis Kelamin : " & jenis_kelamin & vbCrLf & " Agama : " & boAgama.Text & vbCrLf & " Pekerjaan : " & lstPekerjaan.Text & vbCrLf & " Hobi : " & hobi & vbCrLf & " Kendaraan : " & lstKendaraan.Text & vbCrLf & " Motto Hidup : " & txtMottoHidup.Text

注意第二行开头也要加&和前面的内容拼接。

方案2:用隐式行续(VB 2010及以上版本支持)

新版VB不需要显式加下划线,直接在第一行末尾的拼接运算符后面换行即可:

dlgInfo.Show()
dlgInfo.txtInfo.Text = " Nama : " & txtnama.Text & vbCrLf
         & " Tanggal Lahir : " & timTanggalLahir.Text & vbCrLf & " Jenis Kelamin : " & jenis_kelamin & vbCrLf & " Agama : " & boAgama.Text & vbCrLf & " Pekerjaan : " & lstPekerjaan.Text & vbCrLf & " Hobi : " & hobi & vbCrLf & " Kendaraan : " & lstKendaraan.Text & vbCrLf & " Motto Hidup : " & txtMottoHidup.Text

方案3:更整洁的写法(推荐)

用字符串插值减少大量拼接运算符,可读性更高:

dlgInfo.Show()
dlgInfo.txtInfo.Text = 
$" Nama : {txtnama.Text}{vbCrLf}
 Tanggal Lahir : {timTanggalLahir.Text}{vbCrLf}
 Jenis Kelamin : {jenis_kelamin}{vbCrLf}
 Agama : {boAgama.Text}{vbCrLf}
 Pekerjaan : {lstPekerjaan.Text}{vbCrLf}
 Hobi : {hobi}{vbCrLf}
 Kendaraan : {lstKendaraan.Text}{vbCrLf}
 Motto Hidup : {txtMottoHidup.Text}"

内容的提问来源于stack exchange,提问作者zuzuzure

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:45:00