Добрый день!
Я создаю свой USerControl и помещаю в него вложенный контрол (например, Button).
public class UserControl1 : System.Windows.Forms.UserControl
{
Button m_button;
public Button MyButton
{
get
{
if ( null == m_button )
m_button = new Button();
return m_button;
}
set { m_button = value; }
}
............
После компиляции, добавления MyControl через ToolBox на форму тестового приложения можно редактировать его свойства в PropertyGrid. В том числе и свойств вложенного Buttona. Но эти изменения не сериализуются в код в секцию инициализации тестовой формы.
Что делать?
Спасибо.
Попробуйте для m_button поставить модификатор public. (В дизайнере вашего UserControl-а а не ручками).
Deny everything...
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Здравствуйте, Virus Quartirus, Вы писали:
VQ>Попробуйте для m_button поставить модификатор public. (В дизайнере вашего UserControl-а а не ручками).
VQ>
данное сообщение получено с www.gotdotnet.ru
VQ>ссылка на оригинальное сообщение
Попробовал — не помогло. Кстати, а какая разница, руками делать или из дизайнера?
Может это для уважаемых форумчан что-то тривиальное, но я никак не могу разобраться. Ведь если сделать собственный контрол со своим TypeConverter-ом и внедрить его в USerControl1 таким-же образом, то все работает. Но ведь Button имеет же свой TypeConverter, потому как сериализуется в код, если его бросить на форму?
public class UserControl1 : System.Windows.Forms.UserControl
{
Button m_button;
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public Button MyButton
{
get
{
if ( null == m_button )
m_button = new Button();
return m_button;
}
set { m_button = value; }
}
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Здравствуйте, <Аноним>, Вы писали:
Попробуй так
Button m_button;
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public Button MyButton
{
get
{
if ( null == m_button )
m_button = new Button();
return m_button;
}
//set { button1 = value; }
}
public void SetMyButton(Button value)
{
m_button = value;
}
... << RSDN@Home 1.2.0 alpha rev. 0>>