gpt4 book ai didi

vb.net - 如何制作复合用户控件 VB.NET

转载 作者:行者123 更新时间:2023-12-05 06:58:51 25 4
gpt4 key购买 nike

<Serializable()>    
Public Class PersonNameOnly

Private p_Name As String = ""
Public Sub New()
' needed for deserialization
End Sub

Public Property Name As String
Get
Return p_Name
End Get
Set(value As String)
p_Name = value
End Set
End Property
End Class

[窗体]

上面的 PersonNameOnly 类绑定(bind)了 PersonUsercontrolForPersonWithNameOnly 用户控件上的 BindingSource 类型,名称绑定(bind)到 Textbox

MainUsercontrolForPersonWithNameOnly 具有 PersonUsercontrolForPersonWithNameOnly

的集合

以上所有内容在现有应用中都可以正常工作。

我需要 new 来创建一个新的表单 MainUsercontrolForPersonWITHIMAGE 所以我创建了一个新的 UserControl 继承了 PersonUsercontrolForPersonWithNameOnly 并添加了一个 Label 包含 ImageUrl,所以这就是我到目前为止在下面所做的。

<Serializable()>
Public Class PersonWITHIMAGE
Inherits PersonNameOnly
Private p_ImageUrl As String = ""
Public Sub New()
' needed for deserialization
End Sub

Public Property ImageUrl As String
Get
Return p_ImageUrl
End Get
Set(value As String)
p_ImageUrl = value
End Set
End Property
End Class

[窗体]

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class PersonUsercontrolForPersonWITHIMAGE
Inherits PersonUsercontrolForPersonWithNameOnly

我如何合并这两个数据绑定(bind),就好像它是一个来源一样,我设法让名称只能在带有集合的顶级表单上工作,但我不确定如何合并数据与名称同步只有用户控制。

如何将两个数据绑定(bind)合并为一次复合形式?

最佳答案

您似乎想要绑定(bind)到两种不同的类型,其中一种是另一种的基类型。我认为你做不到。

但是您是否考虑过使用一个接口(interface),例如 IPersonUsercontrolForPerson 并将每个类基于它?这应该会打开抽象控件绑定(bind)的可能性。

免责声明!这个答案应该作为一个起点,因为我实际上并没有为您编写测试/答案。但这就是我要开始寻找的地方。

关于vb.net - 如何制作复合用户控件 VB.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64523587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com