вот семантика разрыва:
int[] a = new int[] { 1, 3, 4, 6, 7, 9, 10 };
// find 9
for(int i = 0; i < a.Length; i++)
{
if (a[i] == 9)
goto goBreak;
Console.WriteLine(a[i].ToString());
}
goBreak:;
вот семантика продолжения:
int[] a = new int[] { 1, 3, 4, 6, 7, 9, 10 };
// skip all odds
for(int i = 0; i < a.Length; i++)
{
if (a[i] % 2 == 1)
goto goContinue;
Console.WriteLine(a[i].ToString());
goContinue:;
}
В общем, это будет работать:
Me.SomeControl1.Dispose()
Me.SomeControl1 = New SomeControl
'Configure SomeControl1 here.
Me.Controls.Add(Me.SomeControl1)
где SomeControl1
- поле, создаваемое автоматически при добавлении элемента управления в форму во время разработки. Первая строка удаляет существующий элемент управления из формы, вторая строка заменяет существующий элемент управления новым элементом того же типа, а последняя строка добавляет новый элемент управления в форму. Вам нужно установить соответствующие свойства нового элемента управления между ними, так что вы можете оставить старый, чтобы получить требуемые значения свойств, например
Dim newControl As New SomeControl
'Configure newControl here, e.g.
newControl.Location = Me.SomeControl.Location
Me.SomeControl1.Dispose()
Me.SomeControl1 = newControl
Me.Controls.Add(Me.SomeControl1)
Обратите внимание, что назначение нового элемента управления существующему полю автоматически соединит любые обработчики событий с предложением Handles.
Тем не менее, тот факт, что вы используете довольно сложный пользовательский элемент управления, трудно сказать, могут ли быть какие-то другие необходимые шаги.