如何在 Visual Basic 中将变量赋值给控件元素参数的指针?

How can I assign a variable to the pointer of a control element parameter in Visual Basic?

提问人:Justinas Rubinovas 提问时间:12/30/2018 更新时间:12/30/2018 访问量:20

问:

在 Visual Basic 中,控件元素(如文本框)似乎像对象一样工作,因此,如果我将变量分配给这样的元素,它似乎是通过引用分配的。例如:

TextBox1.Text = "old text"
Dim ctrlEl as Object = TextBox1
ctrlEl.Text = "new text"
Debug.print(TextBox1.Text)
'prints "new text"

但是,如果我分配该控件的任何特定属性,它似乎是按值分配的。喜欢这个:

TextBox1.Text = "old text"
Dim ctrlElText as Object = TextBox1.Text
ctrlElText = "new text"
Debug.print(TextBox1.Text)
'prints "old text"

但我需要的是通过引用将 ctrlElText 分配给 TextBox1.Text,以便修改 ctrlElText 也会更新 TextBox1.Text。我该怎么做?

引用 按值传递 指针传递

评论

0赞 AlexP 12/30/2018
TextBox1.Text不是变量。没有对它的引用。(技术说明:是 的属性。 是一个函数调用,它返回一个值。.TextTextBox1TextBox1.Text
0赞 Justinas Rubinovas 12/30/2018
@AlexP,谢谢你的解释。在这种情况下,如何将 ctrlElText 分配给该函数调用,以便更改 ctrlElText 的值将修改该 TextBox 中显示的文本?
0赞 AlexP 12/30/2018
对象传递给函数。TextBox1
0赞 Justinas Rubinovas 12/30/2018
是的,看,就我而言,我有一个函数可以接收这些对象的整个数组 - 不仅仅是 TextBoxes,还有 CheckBoxes、ComboBox 等。我想指定函数必须修改这些对象的哪个参数 - 如果是 TextBox,它是 .文本,如果是 CheckBox - 。检查等。我想在将它传递给函数时指定它,而不是让函数本身弄清楚它。这就是我想传递 TextBox1.Text 的原因。我该怎么做?

答: 暂无答案