我将尝试打开另一个窗口来编辑 datagridview 数据。这是我的代码。请修复此错误。
项目名称是短信。 datagridview 名称为 StudentsDataGridView
。
Error BC30389 'sms.edit.idTextBox' is not accessible in this context because it is 'Private'.
Private Sub StudentsDataGridView_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles StudentsDataGridView.Click
Dim editform As New edit
editform.idTextBox.Text = StudentsDataGridView.CurrentRow.Cells(0).Value.ToString()
editform.TxtAdmNo.Text = StudentsDataGridView.CurrentRow.Cells(1).Value.ToString()
editform.ShowDialog()
End Sub
最佳答案
将 edit
文本框的 Modifier
属性更改为 Public
。
但正确的方法是将参数传递到编辑窗口。
打开edit
代码,添加一个接收参数的构造器,然后编写代码以将值放入所需的控件中:
Public Sub New(id As String, admNo As String)
InitializeComponent()
idTextBox.Text = id
TxtAdmNo.Text = admNo
End Sub
现在在调用者代码中您可以执行以下操作:
Dim val_id = StudentsDataGridView.CurrentRow.Cells(0).Value.ToString()
Dim adm = StudentsDataGridView.CurrentRow.Cells(1).Value.ToString()
Dim editform As New edit(val_id, adm)
editform.ShowDialog()
这样您就可以分离软件部分之间的依赖性,并且还要求您在创建第二个表单时提供所需的数据。
关于mysql - datagridview单击事件句柄并打开新表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44793630/