내 프로그램이 내가 원하는대로 다른 폼을 열었습니다. 해답이 그것을 해결했습니다.폼이로드시 열림
기본적으로 프로그램을 시작할 때 양식 열림을 중지하고 싶지만 버튼을 누르면 수동으로 열 때 양식 데이터가 업데이트됩니다. 문제의 두 번째 부분은 해결되지 않았지만 첫 번째 부분은 해결되었습니다.
내 프로그램이 내가 원하는대로 다른 폼을 열었습니다. 해답이 그것을 해결했습니다.폼이로드시 열림
기본적으로 프로그램을 시작할 때 양식 열림을 중지하고 싶지만 버튼을 누르면 수동으로 열 때 양식 데이터가 업데이트됩니다. 문제의 두 번째 부분은 해결되지 않았지만 첫 번째 부분은 해결되었습니다.
당신은 이런 식으로 뭔가를 시도 할 수 있습니다 :
Public Class HomeForm
Private WithEvents m_DataChangeForm As DataChangeForm
Private Sub HomeForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
m_DataChangeForm = New DataChangeForm()
m_DataChangeForm.Show()
End Sub
Private Sub OnDataSourceChanged(sender As Object, args As EventArgs) Handles m_DataChangeForm.OnDataSourceChanged
MessageBox.Show("Data source changed!")
End Sub
End Class
Public Class DataChangeForm
Inherits Form
Public Event OnDataSourceChanged(sender As Object, args As EventArgs)
Private WithEvents m_Button As Button
Public Sub New()
m_Button = New Button()
m_Button.Text = "Change"
m_Button.Parent = Me
End Sub
Public Sub buttonClick(sender As Object, args As EventArgs) Handles m_Button.Click
RaiseEvent OnDataSourceChanged(sender, args)
Me.Close()
End Sub
End Class
이유 양식이 표시됩니다 당신이 ShowDialog를 호출 becaouse HomeForm되기 전에, 차단을 DataChangeForm이 닫힐 때까지.
"로드"에서 "표시된"이벤트로 코드를 이동해야합니다.
Private Sub Homefrm_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Using fp = New dataChangefrm(m_database)
If fp.ShowDialog() = DialogResult.OK Then
uwgHome.DataSource = Nothing
loadData()
End If
End Using
Me.Location = New Point(0, 0)
loadData()
End Sub
첫 번째 줄의 핸들을 살펴보십시오. 귀하의 프로젝트에 따라 다릅니다.
안녕하세요, 미안 해요, 당신이 내 뜻을 오해 한 것 같아요. 내'dataChangefrm'가'Homefrm_Load '에 전혀 표시되지 않게하려면'dataChangefrm'이 닫힐 때'Homefrm'의 UltraGrid가 업데이트되기를 원합니다. –
폼로드 이벤트에 Show를 추가했지만 필요한 곳에 놓으십시오. –