Самый простой способ - указать нужные свойства как свойства вашего пользовательского элемента управления, например:
class MyUserControl
{
// expose the Text of the richtext control (read-only)
public string TextOfRichTextBox
{
get { return richTextBox.Text; }
}
// expose the Checked Property of a checkbox (read/write)
public bool CheckBoxProperty
{
get { return checkBox.Checked; }
set { checkBox.Checked = value; }
}
//...
}
Таким образом, вы можете контролировать, какие свойства вы хотите предоставить и должны ли они быть доступны для чтения / записи или только для чтения. (конечно, вы должны использовать более подходящие имена для свойств, в зависимости от их значения).
Еще одним преимуществом этого подхода является то, что он скрывает внутреннюю реализацию вашего пользовательского контроля. Если вы когда-нибудь захотите обменять свой элемент управления richtext с другим, вы не нарушите вызывающих / пользователей вашего элемента управления.