나는 VB.NET에 VB6에 내장 된 응용 프로그램 및 Visual Studio를 재 작업하고 2005텍스트 상자 이벤트를 다른 파일로 이동하는 방법 - VB6에서 VB.NET으로?
은 50 ~ 60 개 텍스트 상자 등으로 하나 개의 큰 형태, 2-3 이벤트 핸들러 각, 클릭를 keyDown 유효성 검사를 가지고 등등 ...
이 응용 프로그램을 만든 사람은 좋은 구조를 유지하기 위해주의를 기울이지 않았으므로 이제 양식의 코드 파일은 거의 2900 줄의 코드입니다.
중요한 기능이 3-4 개 있으며 다른 기능은 이벤트 처리기입니다.
문제는 각 이벤트 처리기가 비공개로 정의되어 있으며 양식 코드 파일에만 존재하는 개체/텍스트 상자를 참조한다는 것입니다.
이러한 이벤트 처리기를 개별 파일로 이동하는 올바른 방법은 무엇입니까?
Imports System.Windows.Forms
Public Class Pol
Private cboPol As MaskedTextBox = New MaskedTextBox()
Private Sub cboPol_Enter(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) 'Handles cboPol.Enter
' TODO ova beshe zakomentirano. Da se proveri
'meGodrag.SelStart = 0
' meGodrag.SelLength = 4
'grstar = meGodrag.Text
End Sub
Private Sub cboPol_KeyDown(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyEventArgs) 'Handles cboPol.KeyDown
Dim KeyCode As Short = eventArgs.KeyCode
Dim Shift As Short = eventArgs.KeyData \ &H10000
If KeyCode = Constants.LEFT_ARROW_KEY Then
'meNasmes.Focus()
End If
End Sub
Private Sub cboPol_KeyPress(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyPressEventArgs) 'Handles cboPol.KeyPress
Dim KeyAscii As Short = Asc(eventArgs.KeyChar)
'If KeyAscii = Constants.ENTER_KEY Then
System.Windows.Forms.SendKeys.Send(Constants.TAB_KEY)
'End If
eventArgs.KeyChar = Chr(KeyAscii)
If KeyAscii = 0 Then
eventArgs.Handled = True
End If
End Sub
End Class
지구상에서 무엇이 C#과 관련이 있습니까? – BugFinder
@BugFinder가 제거했습니다 : D – Vlad
코드를 다른 * 파일 *로 이동하려는 경우 여러 파일에 부분 클래스를 정의 할 수 있습니다. https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/수정 자/부분 – David