我正在尝试使用面板和按钮来加载2种不同的形式以及实体框架和ado模型。我正在尝试使用在第一种表单上运行的代码来加载第二种表单this picture,,因为它们具有相同的表。但是发生的事情是,每当我关闭第二个表单并尝试打开second user from this form(driverlist), I am still getting the results that I created before on the first user时,我都认为尽管我放置了一些代码,但第二个表单并未加载:
Private Sub DriverLicense_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim user_id As Integer = Driverlist.tbxUser_id.Text
Driverlist.db = New [Emme_Subic_Transport_Corporation_Payroll].EmmeSubicEntities
Driverlist.db.UserDetails.Where(Function(c) c.isDeleted <> 1 And c.Id = user_id).Load()
UserDetailBindingSource.DataSource = Driverlist.db.UserDetails.Local
If Driverlist.tbxUser_id.Text.Count < 1 Then
MessageBox.Show("Please Select an Employee ID First", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
Drivertest.Panelswitch(Driverlist)
Else
Me.Show()
End If
End Sub
Private Sub DriverLicense_Activated(sender As Object, e As EventArgs) Handles Me.Activated
Dim user_id As Integer = Driverlist.tbxUser_id.Text
Driverlist.db = New [Emme_Subic_Transport_Corporation_Payroll].EmmeSubicEntities
Driverlist.db.UserDetails.Where(Function(c) c.isDeleted <> 1 And c.Id = user_id).Load()
UserDetailBindingSource.DataSource = Driverlist.db.UserDetails.Local
End Sub
我通过属性的其他数据绑定资源绑定了第二种形式,但仍与第一种形式使用相同的资源。我对此很陌生,所以请不要再对我的问题提出负面意见。如果您认为我对此不好,我知道,对不起。顺便说一下,如果有帮助,这是按钮和面板中的代码。谢谢大家。
Sub Panelswitch(Panel As Form)
PanelControl.Controls.Clear()
Panel.TopLevel = False
PanelControl.Controls.Add(Panel)
Panel.Show()
End Sub
Private Sub Btntest_Click(sender As Object, e As EventArgs) Handles Btntest.Click
Panelswitch(Driverlist)
End Sub
Private Sub Btntest2_Click(sender As Object, e As EventArgs) Handles btntest2.Click
Panelswitch(DriverLicense)
End Sub
答案 0 :(得分:0)
有很多事情我只看你的照片就可以避免,但这超出了你的问题。
第二,同意该评论,您应该进一步修改您的问题(我看过您尝试过的方法,但是仍然不完整或不清楚)。
如果我的理解正确,那么您有一个容器PanelControl
,您可以使用表格DriverList
或DriverLicence
来填充 。我只想确定-您确定已实例化设置了实例吗?因为我希望该开关仅对显示正确的形式起作用,但对于[persistent]列表DriverList
和DriverLicence
,应该< / em>可能是您每次要添加许可证的新实例。但是未显示此代码,只是猜测问题可能出在这些方面。我猜设计的可能性很小。
简化,重点是:
Private Sub Btntest2_Click(sender As Object, e As EventArgs) Handles btntest2.Click
Dim DriverLicenceInstance as new DriverLicence
Panelswitch(DriverLicenseInstance)
End Sub
我还认为,您可能没有正确设置第二种格式DriverLicence
的绑定。我不精通.NET绑定,但是在我看来,您将绑定声明为两个独立的东西(来自复制代码吗?)。但是您可能需要做的是为两个部分使用相同的绑定源。参见此处:A-Detailed-Data-Binding-Tutorial。