【问题标题】:Displaying string on 2 lines in Visual Basic在 Visual Basic 中在 2 行上显示字符串
【发布时间】:2020-06-24 19:38:22
【问题描述】:

我正在尝试让 Visual Basic 中的一些代码显示在两行上。下面是我的代码,

Dim v_names As String()

Dim v_nums As String()

Dim v_list As String
v_names = Me.PN_ComboBox.SelectedValue.Split(":")(3).Split(";")
v_nums = Me.PN_ComboBox.SelectedValue.Split(":")(4).Split(";")
v_list = ""

For i = 0 To (v_names.Length - 1)

     v_list = v_list & v_nums(i) & ":" & v_names(i)

Next i

Me.Vnumber_Label.Text = v_list

目前显示为:

123: bill:456: bob

我希望它显示为:

123: bill
456: bob

有什么建议吗?

【问题讨论】:

标签: asp.net vb.net


【解决方案1】:

常量“VbCrLf”可以帮助你,我刚刚在谷歌上搜索过:| StackOverflow 本身也有关于它的主题回答

v_list = v_list & v_nums(i) & ":" & v_names(i) & VbCrLf

v_list = v_list & v_nums(i) & ":" & v_names(i) & Environment.NewLine

【讨论】:

  • 尝试:Environment.NewLine
【解决方案2】:
Dim fields = Me.PN_ComboBox.SelectedValue.Split(":")
Dim v_names As String() = fields(3).Split(";")
Dim v_nums As String() = fields(4).Split(";")
Dim strings = v_names.Zip(v_nums, Function(name, num) $"{name}:{num}")

Me.Vnumber_Label.Text = String.Join("<br/>", strings)

这是一个有效的测试:

https://dotnetfiddle.net/7x7MQX


哎呀!我错过了asp.net 标签。在 ASP.Net 上下文中,一个简单的换行符是不够的。 Html 不在乎,并且对所有空白区域都一视同仁。你需要&lt;br/&gt;。我已经更新了上面的答案来解决这个问题。

此外,将&lt;br/&gt; 放入标签文本可能还不够,因为标签控件可以对其进行 html 编码。您需要将标签设置为不这样做(我现在正在画一个空白的地方,但现在您知道需要这样做,您可以像我一样快速查找位置)。

【讨论】:

  • 我试过这个,但我遇到了很多错误。 "$" 不是有效字符 "Function" 不是有效标识符 num 和 name 未声明。如果有帮助,我正在使用 VB 语言。我对此很陌生。
  • 什么版本的VB.Net/Visual Studio? $ 用于字符串插值,这是一个相当新的功能。
  • 我有2019版
  • 似乎它应该可以工作。也许检查你的 Imports 指令dotnetfiddle.net/7x7MQX
  • @ChristopherWatson 我已经更新了答案中的一些内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
  • 2016-12-17
相关资源
最近更新 更多