首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Windows窗体数据绑定DisplayMember自定义类的子属性

在Windows窗体数据绑定中,DisplayMember用于显示数据项的特定属性。如果您想要显示自定义类的子属性,可以使用DataBinding的FormatEvent事件来实现。

以下是一个示例代码,演示如何在Windows窗体中使用DataBinding的FormatEvent事件来显示自定义类的子属性:

代码语言:csharp
复制
public class Person
{
    public string Name { get; set; }
    public Address Address { get; set; }
}

public class Address
{
    public string City { get; set; }
}

private void Form1_Load(object sender, EventArgs e)
{
    var persons = new List<Person>
    {
        new Person { Name = "John", Address = new Address { City = "New York" } },
        new Person { Name = "Jane", Address = new Address { City = "Los Angeles" } }
    };

    comboBox1.DataSource = persons;
    comboBox1.DisplayMember = "Name";
    comboBox1.ValueMember = "Address.City";
    comboBox1.Format += ComboBox1_Format;
}

private void ComboBox1_Format(object sender, ListControlConvertEventArgs e)
{
    var person = (Person)e.ListItem;
    e.Value = $"{person.Name}, {person.Address.City}";
}

在上面的示例中,我们有一个Person类,其中包含一个名为Address的子属性。我们将ComboBox的DataSource设置为Person对象列表,并将DisplayMember设置为Name属性。然后,我们将ValueMember设置为Address.City子属性。最后,我们使用FormatEvent事件来格式化显示文本,以便在ComboBox中显示子属性。

总之,如果您想要在Windows窗体数据绑定中显示自定义类的子属性,可以使用DataBinding的FormatEvent事件来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C# WINFORM通过委托和事件窗体间(跨窗体)传值(自定义事件参数)--实例详解

C# WINFORM通过委托和事件窗体间(跨窗体)传值(自定义事件参数)--实例详解 在C# WINFORM的日常开发中,我们通常需要遇到跨窗体传值这一问题,实现的方式也是有很多的,今天给大家分享一种通过委托和事件来实现的传值方式。不多说废话,我将用一个具体的实例来跟大家说明怎么样利用很委托和事件以及自定义的参数来实现跨窗体传值。 例如:程序中我们有一个主窗体,其中文本框的值是我们需要从另外一个窗体中获取的 在这个表单窗体中,填写完整联系人地址信息后,我们希望把这些信息回传到主窗体中 好了,效果已展示,下面

07
领券