【发布时间】:2020-06-26 15:56:15
【问题描述】:
我在 vb.net 中有一个 Window-Form 'caller',其中包含一个 datagridview 和一个特定对象的小概览表,每个对象在第一列都有自己的 ID。现在,如果双击一行,我想显示一个“编辑”对话框,在这里可以编辑该行的许多我不想在概览表中显示的详细信息。
我的方法如下:在调用者表单中我写了这个来调用'edit':
Private Sub dgdata_dbclick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dg_data.CellMouseDoubleClick
Dim f_edit As New edit
f_edit.ShowDialog(Me)
End Sub
效果很好。
但是,在所谓的“编辑”表单中,我需要检查选择了哪个 ID 并从数据库中加载此数据以进行编辑。我可以使用例如从调用表单“调用者”访问一些数据
MsgBox(CType(Me.Owner, caller).Text)
显示“调用者”的窗口标题。但是,我想在 datagridview 中提取当前选择的 ID,或者至少提取一些包含它的变量。在调用者表单中,这可以通过评估轻松完成
dg_data.Item(0, selectedRow).Value.ToString
但我无法访问“来电者”中的任何相关信息。我有一个带有一些全局变量的公共类,但我也无法访问它们。
也许我解决这个问题的策略不是最聪明的方法?基本上,当有人单击概览表中的一行时,我想打开一个非常详细的编辑窗口,但只要编辑窗口打开,就会同时阻止应用程序的其余部分。 谢谢!
【问题讨论】:
标签: vb.net dialog showdialog