Как избавиться от повторов при клонировании экземпляров формы? - Visual Basic .NET
Формулировка задачи:
Всем здравствуйте.
Есть главная форма со стандартным меню из трёх элементов и форма, которую нужно клонировать. При щелчке на элементе меню 1 создаётся новая копия формы-клона с отображением числа 1 в её заголовке. При щелчке на элементе меню 2 создаётся новая копия формы-клона с отображением числа 2 в её заголовке. При щелчке на элементе меню 3 создаётся новая копия формы-клона с отображением числа 3 в её заголовке.
Всё работает, но как избежать следующего: Если я повторно щёлкну по элементу меню 1, то появляется ещё одна копия формы-клона с отображением числа 1 в её заголовке (а такая уже есть). Хотелось бы чтобы при повторном щелчке по элементу меню если нужный экземпляр уже создан просто вывести его на передний план.
Решение задачи: «Как избавиться от повторов при клонировании экземпляров формы?»
textual
Листинг программы
Public Class frmMain Private cloneForms() As frmClone = {Nothing, Nothing, Nothing} Private Sub mnuVar1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuVar1.Click ShowCloneForm(1) End Sub Private Sub mnuVar2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuVar2.Click ShowCloneForm(2) End Sub Private Sub mnuVar3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuVar3.Click ShowCloneForm(3) End Sub Private Sub ShowCloneForm(num As Integer) If cloneForms(num-1) IsNothing Then Dim frmClone As New frmClone() frmClone.Text = num.ToString() frmClone.Show() cloneForms(num-1) = frmClone Else cloneForms(num-1).Activate() End If End Sub End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д