【问题标题】:vb.net mdi application shared datasetvb.net mdi 应用程序共享数据集
【发布时间】:2014-11-10 14:29:54
【问题描述】:

我有一个 VB.net MDI 应用程序,其子窗体使用数据集和单个表。十几个孩子意味着十几个数据集。现在我想比较数据、追加和合并表。移动到具有 12 个表的单个共享数据集将是最方便的。到目前为止,我还没有成功编写智能感知将接受的共享数据集。任何建议都会有所帮助。

【问题讨论】:

  • 目前还不清楚您遇到的困难或智能感知与它有什么关系。如果所有的表单都需要访问一个对象,难道它们都只能访问一个对象吗?也许某个地方的静态属性?还是一些管理对象的单例?

标签: vb.net dataset shared mdi


【解决方案1】:

在包含数据集的应用程序中创建一个模块,并使子表单与它交互。在这里,我能够在IntelliSense中看到数据集。

Module Module1
    Private _sharedData As DataSet
    Public Property SharedData As DataSet
        Get
            If (Module1._sharedData Is Nothing) Then
                Module1._sharedData = New DataSet()
            End If
            Return Module1._sharedData
        End Get
        Set(value As DataSet)
            Module1._sharedData = value
        End Set
    End Property

End Module

让您的子表单在数据集中管理自己的表。

Public Class ChildForm

    Public Sub New(ByVal Name As String)
        Me.InitializeComponent()
        Me.Name = Name
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Module1.SharedData.Tables.Add("MyTable" + Me.Name)
    End Sub

End Class

这是MDI父级的测试。

Public Class Form1

    Private Shared NextNumber As Integer

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim addFrm = New ChildForm(NextNumber.ToString)

        addFrm.MdiParent = Me
        addFrm.Show()

        NextNumber = NextNumber + 1

    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        MessageBox.Show(Module1.SharedData.Tables.Count)
    End Sub
End Class

【讨论】:

  • 我是jimmy,大卫评论了问题:) span>
猜你喜欢
  • 2013-04-02
  • 2013-05-23
  • 1970-01-01
  • 2016-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-29
相关资源
最近更新 更多