vb.net ต้องการส่งข้อมูลข้ามฟอร์ม ส่งแบบธรรมดาใช้งานได้ แต่ส่งข้อมูลไปยังฟอร์มที่เรียกจาก MDI Form ไม่ได้ครับ

vb.net ต้องการส่งข้อมูลข้ามฟอร์ม ส่งแบบธรรมดาใช้งานได้ 
ธรรมดาในที่นี้ ไม่ใช้ MDI FORM  คือ ให้ฟอร์มมันรันโดยปกติ สมมุติเป็น form1 แล้วคลิกที่ปุ่มให้ฟอร์ม 2 แสดง
พอ form2 แสดงให้ทำการ doublic click ที่ datagridview แล้วส่งข้อมูลจาก datagridview ไปแสดงที่ comboxbox ที่ form1
อันนี้ไม่มีปัญหาแสดงปกติ โดยใช้คำสั่งแบบนี้ครับ

'เมื่อ double click ที่ datagridview ให้เอาข้อมูลจากฟอร์มมันไปให้แสดงใน combobox ที่อยู่ใน ฟอร์ม frmIncomeExpense 
[code]Private Sub DataGridView1_CellMouseDoubleClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDoubleClick
If e.RowIndex = -1 OrElse e.RowIndex = DataGridView1.RowCount Then Exit Sub

'เรียกใช้  method จากฟอร์ม frmIncomeExpense ให้ทำการโหลดข้อมูลใหม่
frmIncomeExpense.GetDataExpenseToCombobox()
frmIncomeExpense.cboExpense.Refresh()
tbxDetails.Enabled = True
Dim sql As String = ""
connAccessDB()
With DataGridView1
  Dim statusCatExpense As Integer = CInt(.Rows(e.RowIndex).Cells(0).Value) 'รหัสประเภทค่าใช้จ่าย
  expense = statusCatExpense
  My.Forms.frmIncomeExpense.cboExpense.Enabled = True
  My.Forms.frmIncomeExpense.cboExpense.Text = .Rows(e.RowIndex).Cells(1).Value.ToString
  My.Forms.frmIncomeExpense.tbxDetails.Text = .Rows(e.RowIndex).Cells(2).Value.ToString
  My.Forms.frmIncomeExpense.tbxPrice.Value = CDbl(.Rows(e.RowIndex).Cells(3).Value)
End With
connAccess.Close()
DrA.Close()
Me.Close()
End Sub
End Class
[/code]รูปนี้ใช้ได้
<img src="https://i.ibb.co/JxxZpZ7/004.jpg">

แต่ส่งข้อมูลไปยังฟอร์มที่เรียกจาก MDI Form ไม่ได้ครับ
ดู code ที่เรียกใช้ form ของ mdi form ดังนี้

frmMain.vb   'เป็น  MDI FORMPublic Class frmMain
[code]Public fIncomeExpense As frmIncomeExpense
Private Sub btnIncome_Click(sender As System.Object, e As System.EventArgs) Handles btnIncomeExpense.Click
    'เรียก form มาแสดง
  fIncomeExpense = New frmIncomeExpense
  fIncomeExpense.MdiParent = Me
  fIncomeExpense.Show()
End Sub
End Class
[/code][code]fIncomeExpense.vb   'ฟอร์มที่โดน MDI FORM เรียก

Public Class frmIncomeExpense
Dim fCatExpense As frmCatExpense
Private Sub btnAddCatExpense_Click(sender As System.Object, e As System.EventArgs) Handles btnAddCatExpense.Click
  fCatExpense = New frmCatExpense
  fCatExpense.ShowDialog()  'เรียกใช้ฟอร็ม fcatExpense ให้แสดง
 End Sub
 End Class
[/code]<img src="https://i.ibb.co/4tG0vHN/003.jpg">

มันใช้ไม่ได้ครับไม่แสดง แต่พอไม่ใช้ MDI FORM เรียก กลับใช้ได้
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่