如何在VB.net和C#中绑定单选按钮?

如何在VB.net和C#中绑定单选按钮?,c#,datasource,C#,Datasource,我在将表单属性绑定到数据源时遇到了一个问题。此处给出了解决方案(请参见): 问题是,我不知道如何遵循指示-“…然后您可以简单地将表单上的地毯颜色属性绑定到数据源的地毯颜色。”您能告诉我如何操作吗 此外,由于某些原因,我无法使用“INotifyPropertyChanged”接口(intellisense无法检测到)。我必须导入任何名称空间吗 编辑: 这是我代码的一部分。在我的例子中,我试图用CRUD方法生成一个简单的学生信息。我对如何绑定单选按钮很感兴趣,但我发现我可以使用表单的属性来实现它。绑

我在将表单属性绑定到数据源时遇到了一个问题。此处给出了解决方案(请参见):

问题是,我不知道如何遵循指示-“…然后您可以简单地将表单上的地毯颜色属性绑定到数据源的地毯颜色。”您能告诉我如何操作吗

此外,由于某些原因,我无法使用“INotifyPropertyChanged”接口(intellisense无法检测到)。我必须导入任何名称空间吗

编辑:


这是我代码的一部分。在我的例子中,我试图用CRUD方法生成一个简单的学生信息。我对如何绑定单选按钮很感兴趣,但我发现我可以使用表单的属性来实现它。绑定到任何其他控件(如文本框和组合框)都相当容易。在我的例子中,我想绑定一个表单属性

过了很长一段时间,我终于想出了解决这个问题的办法

实际上,我已经在VB.net中完成了编码,因为我更熟悉VB语法而不是C。尽管如此,由于它们受.NET框架的限制,因此逻辑彼此非常相似

form属性如下所示(尽管也可以在原始帖子中枚举):

这是微不足道的,但我只包含了该代码片段以作进一步澄清

关于如何绑定表单属性的答案很简单:

Dim genderBinder = New Binding("propGender", Tbl_Stud_InfoBindingSource, "Gender")
Me.DataBindings.Add(genderBinder)
Me.DataBindings.Add(genderBinder)
其中
Gender
是我需要的数据成员。使用单选按钮调整表单属性是我感到困惑的地方(老实说,直到现在)。通过实现
INotifyPropertyChanged
接口解决了此问题。我以前认为每个项目中都隐含了这一点,但很容易发现应该首先导入
System.ComponentModel
。多亏了

引发protertyChanged事件可以通过以下方式完成:

Protected Sub OnPropertyChanged(ByVal name As String)
    RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
End Sub

Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
    OnPropertyChanged("propGender")
End Sub

Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
    OnPropertyChanged("propGender")
End Sub
其中RadioButton1=男性的radiobox,RadioButton2=女性(最好遵循良好的命名约定!)

我不太熟悉C#语法,但我认为引发checkChanged属性的等效代码是:

RadioButton1.CheckedChanged += (s, args) => OnPropertyChanged("propGender");
RadioButton2.CheckedChanged += (s, args) => OnPropertyChanged("propGender");
最后,通过这种方式,我现在可以轻松地绑定单选按钮——我知道解决这个问题很容易,但这是像我这样的初学者经常遇到的问题。在VB6中,这可以通过使用流行的记录集轻松实现。在.NET中,解决方案并不明显

编辑: 我在SO中看到了与相同场景相关的一些其他问题。我发现了两个,但它们都使用C#,这对于VB用户来说可能是模糊的

编辑:
我用来解释的关键术语只是“数据绑定单选按钮”。这就是为什么我想更改此问题的标题,使其更加明确。

。这很难吗?我熟悉数据绑定,但无法管理数据绑定表单属性(昨天才知道这是可能的)。谷歌搜索对我来说并不有效,因为我花了大约两个半小时找到了一个解决方案。这里是初学者。这里提供了大量的示例和演练。作为一个初学者不应该是一个问题。您在实施过程中遇到了哪些问题?你遵循什么指南?你的代码在哪里?@tnw-更新了我已经做的博士后研究:1.)从两个流行网站下载了十几个源代码-不走运,他们没有使用这种方法。2.)阅读了两本VB.net 2008书籍-很糟糕,没有找到与此相关的信息。3.)搜索google和dogpile-很高兴找到我上面发布的链接,但不知道如何实现它。我可能缺少一些其他关键术语。
Imports System.ComponentModel
Protected Sub OnPropertyChanged(ByVal name As String)
    RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
End Sub

Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
    OnPropertyChanged("propGender")
End Sub

Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
    OnPropertyChanged("propGender")
End Sub
RadioButton1.CheckedChanged += (s, args) => OnPropertyChanged("propGender");
RadioButton2.CheckedChanged += (s, args) => OnPropertyChanged("propGender");