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

WinForm子窗体调用ShowDialog时触发ArgumentException异常求助

解决WinForm中My.Settings绑定TextBox触发的ArgumentException异常

异常信息

System.ArgumentException: 'Cannot bind Forward_Port property or column in DataSource. Parameter name: dataMember'

排查与解决步骤

  • 确认My.Settings中存在目标属性
    打开项目的Settings.settings文件,检查是否有名为Forward_Port的设置项,确保拼写完全匹配(C#大小写敏感),且属性类型与TextBox的Text属性兼容(如字符串、整数等可自动转换为文本的类型)。

  • 修复数据绑定配置
    如果是通过设计器绑定:

    1. 打开ConfigForm的设计视图,选中绑定的TextBox
    2. 在属性窗口找到DataBindings -> Text,点击右侧省略号打开绑定对话框
    3. 确认DataSource选择的是My.Settings,DataMember准确填写Forward_Port,无拼写错误或多余字符

    如果是代码绑定,确保绑定代码格式正确,示例:

    textBoxForwardPort.DataBindings.Add(
        "Text", 
        Properties.Settings.Default, 
        "Forward_Port", 
        true, 
        DataSourceUpdateMode.OnPropertyChanged
    );
    

    重点检查第三个参数必须与Settings中的属性名完全一致。

  • 清理缓存并重新生成项目

    1. 右键项目选择「清理」
    2. 删除项目目录下的bin和obj文件夹
    3. 重新生成项目,避免设计器缓存的旧绑定代码导致冲突
  • 检查设置项的访问修饰符
    在Settings.settings设计器中,选中Forward_Port项,查看属性窗口的Access Modifier,确保设置为Public。如果是Internal,子窗体可能无法访问该属性导致绑定失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 02:43:09