ListView
컨트롤을 포함하는 양식이 있습니다 (우리는 Form A
이라고합니다). ListView
에서 항목을 선택하면 이벤트 처리기에서 Form B
을 만들고 표시합니다.ListView가 이전 양식을 앞에 가져 오지 못하도록하십시오.
Form A
앞에 Form B
이 표시되도록하고 싶습니다. 두 형식 모두 표시 될 때 최대화됩니다. 문제는 Form A
에 ListView
이 표시되고 Form B
이 표시된 후 Form A
이 포커스를 바로 잡는 것입니다. 화면이 일시적으로 깜박이므로 처음에는 Form B
이 앞에 있습니다. 나는 그것이 다른 장치에서 Form B
을 열면 의도 한대로 작동하기 때문에 ListView
일을 알고 있습니다.
을 Show()
으로 표시하고 있습니다. ShowDialog()
으로 변경하면 문제가 해결되지만 모달이되고 싶지 않습니다.
ListView1.ItemSelectionChanged
이벤트의 처리기에서 이러한 현상이 발생하며 ListView1.SelectedIndexChanged
으로 변경해도 도움이되지 않습니다.
일부 코드, 그것을 만드는 경우 어떤 명확한 :
Private Sub ListView1_ItemSelectionChanged(sender As Object, e As ListViewItemSelectionChangedEventArgs) Handles ListView1.ItemSelectionChanged
If e.IsSelected Then
Dim my_form As New MyForm
my_form.Show()
End If
End Sub
FormB_Load에서 Me.Activate가 도움이됩니까? 또는 ListView1_Click ... –
@JeremyThompson No와 같이 FormB를 시작하는 다른 이벤트를 시도하고'FormB_Shown'의 끝 부분에 놓거나'Show()'호출 후에도 바뀌지 않습니다. 'Focus()'와'BringtoFront() '와 동일합니다. –