Как добавить тот же элемент управления в мультипанель в C #? - PullRequest
4 голосов
/ 24 февраля 2010

У меня есть кнопка с именем button1 и две панели с именами: panelA и panelB (по умолчанию false - false) и следующий код (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?

Не знаю почему? Может быть, это глупый вопрос для вас, но я новичок, поэтому я не имею ни малейшего представления об этой проблеме? Вы можете мне помочь? Спасибо!

Ответы [ 3 ]

5 голосов
/ 24 февраля 2010

Объект button1 может иметь только одного визуального родителя. Поэтому не стоит добавлять его к двум разным родителям.

Итак, вам нужно иметь 2 объекта кнопки.

1 голос
/ 24 февраля 2010

Я не знаю, почему ваша вторая кнопка не видна. Но почему бы не использовать две разные кнопки с одним и тем же событием щелчка?

Вы пробовали, если проблема все еще существует, вы пытаетесь добавить два разных экземпляра кнопки?

Удачи.

0 голосов
/ 24 февраля 2010

Может быть показан только один экземпляр объекта, поэтому вам нужно создать еще один экземпляр для вашей кнопки. Они оба будут действовать одинаково (потому что они - один элемент управления, но будут иметь разные действия, чтобы иметь разные экземпляры).

И это потому, что вы можете иметь только один экземпляр элемента управления. вам действительно не нужен один и тот же экземпляр объекта.

...