У меня есть кнопка, названная button1 и двумя вызванными панелями: panelA и panelB (видимый ложь по умолчанию), и следующий код (WinForms):
panelA.Controls.Add(button1);
panelB.Controls.Add(button1);
panelB.Visible = true; // I see the button1
panelA.Visible = true; // I don't (ofcoz panelB.Visible is still false)
MessageBox.Show(panelA.Controls.Contains(button1).ToString); //False, why?
Я не знаю почему? Возможно, это - глупый вопрос для Вас, но я - новичок, таким образом, у меня действительно нет идеи об этой проблеме? Можно ли помочь мне?Спасибо!
У объекта button1
может быть только один визуальный родительский элемент. Поэтому вам не следует добавлять его к 2 разным родителям.
Итак, вам нужно иметь 2 объекта-кнопки.
Я не знаю, почему ваша вторая кнопка не отображается. Но почему бы не использовать две разные кнопки с одним и тем же событием нажатия?
Пробовали ли вы добавить два разных экземпляра кнопки, если проблема не исчезла?
Удачи.
Может быть показан только один экземпляр объекта, поэтому вам нужно создать еще один экземпляр для своей кнопки. Оба они будут действовать одинаково (потому что они - один элемент управления, но будут иметь разные действия, чтобы иметь разные экземпляры).
И это потому, что у вас может быть только один экземпляр элемента управления. вам действительно не нужен один и тот же экземпляр объекта.