Winforms 将自定义可序列化对象绑定到控件以便用户和加载/保存首选项

Winforms 将自定义可序列化对象绑定到控件以便用户和加载/保存首选项,winforms,data-binding,c#-3.0,object,Winforms,Data Binding,C# 3.0,Object,好的,既然放弃了让内置的.NET配置系统为每个用户保存/加载关于自定义对象的数据,我已经转向使用可序列化对象。更进一步,我想将它绑定到应用程序选项窗口中的控件 请原谅这个问题的长度,因为它有一些代码块在里面 首先,父对象: [Serializable] public class ConnectionSettings { public List<Connection> Connections { get; set; } public ConnectionSetting

好的,既然放弃了让内置的.NET配置系统为每个用户保存/加载关于自定义对象的数据,我已经转向使用可序列化对象。更进一步,我想将它绑定到应用程序选项窗口中的控件

请原谅这个问题的长度,因为它有一些代码块在里面

首先,父对象:

[Serializable]
public class ConnectionSettings
{
    public List<Connection> Connections { get; set; }

    public ConnectionSettings()
    {
        Connections = new List<Connection>();
    }
}
因为将保存多个连接,所以我认为这是存储它们的最简单方法

连接对象的块:

[Serializable]
public class Connection : NotifyBase
{
    private string hostName;
    [DisplayName( "Host Name" )]
    public string HostName
    {
        get { return hostName; }
        set { SetField( ref hostName, value, "HostName" ); }
    }

    /* Other field snipped for your sanity,*/
    /* same format as host name */

    public List<string> Channels { get; set; }

    public Connection()
    {
        Channels = new List<string>();
    }
}
有关窗体外观的一般信息,请参见: 我有一个组合框,它将显示所有已保存连接的主机名,当用户选择主机名时,它将用各自的值填充表单上的其他字段。我意识到这应该不会太难,但出于某种原因,我无法让组合框部分工作,我越想它,我不确定我是否知道如何知道用哪个特定连接填充其他控件

更多信息 问题是,我不知道如何绑定所有需要绑定的内容。我正要离开这里。我希望能够为反序列化ConnectionSettings中的每个连接对象在组合框中显示主机名,当您选择主机名时,它将填充表单上其他控件的其余相关数据


任何帮助我都将不胜感激。

好的,我想我已经明白了。我将ConnectionSettings更改为inherit List,它似乎工作正常。

我认为您没有明确说明您的要求。你能澄清你的问题吗?这与serliazation或组合框有关吗?问题到底出在哪里?谢谢。添加了更多信息,我希望能有所帮助。