2010-04-08 8 views
10

To musi być najczęściej zadawane pytania, ale nie mogę znaleźć duplikatu pytania!Jak uzyskać, aby program WinForm Designer całkowicie ignorował właściwość niestandardowego formantu?

Istnieje wiele różnych atrybutów, które decydują o tym, co projektant WinForm robi z właściwościami na formancie niestandardowym, nigdy nie jestem jasny na tym, którego powinienem użyć w tym przypadku.

szukam:

  • Projektant nie wykazuje właściwości w siatce
  • Projektant nie odczytuje wartości nieruchomości
  • projektant nie ustawić właściwość na wartość domyślną
  • Np Projektant zachowuje się tak, jakby nie było obiektu .
  • projektant nie skarżą się, jeśli już to zrobiła jedną z powyższych przed atrybuty zostały dodane (ciężko!)

Background.

Kod, który daje mi problemu jest:

this.eventListControl.FilterSets = 
    ((SystList<FilterSet>)(resources.GetObject("eventListControl.FilterSets"))); 

Obiekt FilterSets powinny nigdy nie zostały dotknięte przez projektanta WinForm; nie jest teraz Serializable i MsDev przewraca się za każdym razem, gdy zmieniono formularz, w którym użyto eventListControl!

+0

Dodatkowo, ILMerge nie poprawnie przepisać to, więc jeśli 'FilterSets' był w DLL, który dostał scalony, ten wiersz kodu zostanie rzucony. –

Odpowiedz

28

myślę, że można użyć [Browsable (false)] i [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]

Drugi atrybut właściwość zapobiega pojawianiu się InitializeComponent

+0

dzięki, że zatrzymuje desinger dodał go do InitializeComponents w nowych formach, jednak projektant nadal nie może odczytać plików Resouce dla formularzy, które już mają kontrolę, więc muszę ręcznie edytować pliki Resouce. –

Powiązane problemy