EndEdit 문제를 해결하기위한 해결책을 찾았습니다. 그런 다음 올바르게 편집을 끝내고 양식을 성공적으로 닫을 수 있습니다.
http://dobon.net/vb/bbs/log3-35/21499.html
Public Class Form4_4
Inherits Form
Dim WithEvents m_dgv As New DataGridView()
Dim WithEvents m_editingcontrol As Control
Private Sub Form4_4_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
m_dgv.Dock = DockStyle.Fill
m_dgv.RowCount = 10
m_dgv.ColumnCount = 3
Me.Controls.Add(m_dgv)
End Sub
Private Sub m_dgv1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles m_dgv.CellEndEdit
Me.m_editingcontrol = Nothing ' ← Cancel EventHandler Here
Console.WriteLine("CellEndEdit")
End Sub
Private Sub m_dgv_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles m_dgv.EditingControlShowing
Console.WriteLine("EditingControlShowing")
Me.m_editingcontrol = e.Control ' ← Register EventHandler Here
End Sub
Private Sub m_editingcontrol_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles m_editingcontrol.PreviewKeyDown
If e.KeyCode = Keys.Return Then
Me.m_dgv.EndEdit()
End If
End Sub
End Class
출처
2013-06-05 09:45:27
CYB