Что касается UserControl
, как создать динамическое число (число из свойства, редактируемого из Visual Studio) меток, текст которых можно редактировать через окно Visual Studio «Дизайн»?
Редактировать Чтобы уточнить, я не хочу, чтобы пользователь изменял текст меток во время выполнения, вместо этого только разработчик, использующий элемент управления В их проекте можно изменять текст меток внутри Visual Studio Designer , просто щелкнув метку и изменив текст. (Не сам исходный код).
В соответствии с тем, что у меня есть, когда я добавляю метки динамически в переопределение события OnDraw, метки можно видеть, но не редактировать в окне дизайна.
Для большей ясности в моем вопросе я привел пример ситуации, чтобы продемонстрировать проблему. Если быть точным, я создаю определенное количество меток внутри события Draw, как показано ниже. число меток и их расположение будет зависеть от количества отображаемых меток, которое предоставляется через общедоступное свойство в элементе управления.
public void CalledFromDrawMethod (string strElement, UserControl ucParentControl, Point pLoc)
{
var lblChild = new Label();
lblChild.Text = strElement;
lblChild.Location = pLoc;
ucParentControl.Controls.Add(lblChild);// Add the label
}
Ниже представлен пользовательский элемент управления в форме из окна «Дизайн» в Visual Studio. Одно изображение - это пользовательский элемент управления, когда нужно нарисовать 6 меток, а второе изображение - когда нужно нарисовать 3 метки. Опять же, это количество меток определяется общедоступным свойством в элементе управления
В конкретной ситуации, изображенной на рисунках, я хотел бы иметь возможность щелкнуть одну из меток «DEFAULT» и изменить свойство метки «Text».
Версия Visual Studio: VS 2013 (я также пробовал с VS 15 и 17, но получил те же результаты)
GUI Framework: Winforms