Воссоздать графический элемент управления

вот семантика разрыва:

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:;
}
0
задан Jyclop 17 January 2019 в 04:59
поделиться

1 ответ

В общем, это будет работать:

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.

Тем не менее, тот факт, что вы используете довольно сложный пользовательский элемент управления, трудно сказать, могут ли быть какие-то другие необходимые шаги.

0
ответ дан jmcilhinney 17 January 2019 в 04:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: