Utworzono SubCtrl dziedzicząc UserControl. Nie ma kodu. Stworzyłem wtedy Ctrl, który również dziedziczy UserControl. Ma SubCtrl w nim i jego tylko kod oznacza narażać go publicznie, dlatego pojawia się w wykazie nieruchomości Ctrl:Projektant nie generuje kodu dla właściwości podrzędnego sterowania podrzędnego. Czemu?
public subctrl.SubCtrl SUBCTRL
{
get { return this.subCtrl1; }
}
Potem stworzyliśmy prosty projekt forma, która tylko Ctrl w nim i bez kodu. Tak jak chciałem, SUBCTRL pojawia się na liście właściwości Ctrl, więc mogę zmieniać rzeczy. Zmieniłem kolor tła (powiedzmy na czerwony), a subprukt zmienił się na czerwony w projektancie.
Ale magicznie, po uruchomieniu projektu, wraca on do standardowej szarości. Wygląda na to, że żaden kod nie jest generowany w Form1.Designer.cs, aby zmienić kolor tyłu SUBCTRL na czerwony. Jeśli piszę to ręcznie, działa, ale nie tego chcę. Oczywiście powinno to być automatyczne.
Ctrl zachowuje się normalnie. Kod jest generowany i wszystko działa szczęśliwie.
Co jest nie tak z kontrolką podrzędną?
Zwięzłe i skuteczne. Grad \ o /! – Gabriel