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
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
รูปนี้ใช้ได้
แต่ส่งข้อมูลไปยังฟอร์มที่เรียกจาก MDI Form ไม่ได้ครับ
ดู code ที่เรียกใช้ form ของ mdi form ดังนี้
frmMain.vb 'เป็น MDI FORM
Code (VB.NET)
Public Class frmMain
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
fIncomeExpense.vb 'ฟอร์มที่โดน MDI FORM เรียก
Code (VB.NET)
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
มันใช้ไม่ได้ครับไม่แสดง แต่พอไม่ใช้ MDI FORM เรียก กลับใช้ได้
Tag : .NET, Ms Access, Win (Windows App), VS 2010 (.NET 4.x), Windows