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

将字符串属性Customer绑定到TextBox时报错,寻求解决方法

问题原因

你遇到的错误是因为数据绑定参数传递错误:

  • DataBindings.Add的第二个参数需要传入数据源对象,但你传的是字符串类型的Customer属性值,而非包含该属性的窗体实例;
  • 第三个参数"Text"是指定数据源对象的成员名,但字符串本身不存在名为Text的属性,因此触发参数错误。
正确解决方案

修改Form1_Load中的绑定代码,将数据源指定为当前窗体实例Me,数据源成员指定为你的属性名"Customer":

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    TextBox1.DataBindings.Add("Text", Me, "Customer")
End Sub
完整修正代码
Public Class Form1
    Implements INotifyPropertyChanged

    Private _Customer As String = "DEFAULT"
    Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        TextBox1.DataBindings.Add("Text", Me, "Customer")
    End Sub

    Public Property Customer As String
        Get
            Return _Customer
        End Get
        Set
            _Customer = Value
            NotifyPropertyChanged()
        End Set
    End Property

    Private Sub NotifyPropertyChanged(<CallerMemberName()> Optional ByVal propertyName As String = Nothing)
        RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
    End Sub
End Class
补充说明

DataBindings.Add的三个核心参数含义:

  • 第一个参数:目标控件要绑定的属性名(这里是TextBox的"Text");
  • 第二个参数:包含绑定属性的数据源对象(这里是窗体实例Me,因为Customer是Form1的属性);
  • 第三个参数:数据源对象中要绑定的属性名(这里是"Customer")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 12:55:18