【问题标题】:How can I get the checkbox.checked event to fire when I pass it as a parameter in vb.net?当我在 vb.net 中将它作为参数传递时,如何让 checkbox.checked 事件触发?
【发布时间】:2021-11-23 07:30:13
【问题描述】:

我已经编程了很长时间,但我对 vb.net 还是比较陌生。而且我避免了传递参数的子程序和函数,因为我总是卡住。我正在尝试编写一个子例程来传递信息,该信息将使用表格中的值填充文本框或复选框,或者清除字段或设置为 false。下面的第一个代码是我一直在做的一个例子,它是有效的。我试图编写一个子例程来传递 1.表单上的文本框或复选框控件的名称、2.数据行值和 3.表中的列名。问题是当我通过一个复选框时,我无法让选中的事件显示在我通过的控件(CoreCol)上。它知道这是一个复选框,它会将复选框的文本设置为真或假,但不会更改选中的框。

这是一个有效的旧方法的例子。对于文本框和复选框

' A Machine
If Not IsDBNull(r("A Machine")) Or Not IsNothing(r("A Machine")) Then
    TbXMachA.Text = r("A Machine")
Else
    TbXMachA.Text = ""
End If
If Not IsDBNull(r("A CO2 Box?")) Or Not IsNothing(r("A CO2 Box?")) Then
    CkbxCO2BoxA.Checked = r("A CO2 Box?")
Else
    CkbxCO2BoxA.Checked = False
End If

这行得通

LoadData2TextBox(Me. TbXMachA, r, "A Machine ")

这不是

LoadData2TextBox(Me.CkbxCO2BoxA, r, "A CO2 Box?")

这是我写的子程序

Private Sub LoadData2TextBox(ByRef CoreCol As Control, CoreRow As DataRow, BoxStage As String)                
    If Not IsDBNull(CoreRow(BoxStage)) Then
        If TypeOf CoreCol Is TextBox Then
            CoreCol.Text = CoreRow(BoxStage)
        End If 
        If TypeOf CoreCol Is CheckBox Then
            CoreCol.??? = CoreRow(BoxStage)
        End If
    Else
        CoreCol.Text = ""
    End If

【问题讨论】:

  • DataRow 中 BoxStage 字段的数据类型是什么?
  • @Mary BoxStage 从表中接收列名。可以是 ttext 或复选框
  • BoxStage 数据类型是字符串吗?它是可以是 TextBox 还是 CheckBox 的控件的名称。

标签: vb.net checkbox


【解决方案1】:

您知道 CoreCol 是一个 CheckBox,因此您可以将其投射作为一个 CheckBox,然后将其用作 CheckBox。

If TypeOf CoreCol Is CheckBox Then
    Dim myCheckBox = DirectCast(CoreCol, CheckBox)
    myCheckBox.Checked = DirectCast(CoreRow(BoxStage), Boolean)
End If

另一个从 CoreRow(BoxStage) 中获取布尔值的演员。上面的代码假设这会起作用,但我不确定 CoreRow(BoxStage) 中有什么。您可能需要根据值添加一些逻辑,具体取决于它是什么。例如:

myCheckBox.Checked = CoreRow(BoxStage) = "somevalue"

【讨论】:

  • 这很好用!我将研究如何更多。感谢您的宝贵时间,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-15
  • 1970-01-01
  • 2013-10-30
  • 1970-01-01
  • 2020-01-26
  • 2020-04-23
相关资源
最近更新 更多