Napotykam problem z WinFormprojektant. Zrobiłem nowy UserControl, dodałem DataGridView, kilka innych elementów i TreeView. Z gui nazwałam te wszystkie nowe komponenty. Teraz nadszedł czas, aby zakodować te rzeczy i zdaję sobie sprawę, że projektant przepytał mój węzeł mojego TreeView. Projektant także dodał nowe kolumny z mojego DataSource, nawet jeśli był ustawiony na AutoGenerateColumn na wartość false.I choć: "Cóż, czas na oczyszczenie Designer crap again ... "i wyczyściłem te rzeczy w funkcji InitializeComponent (wiem, że jest to etykietą" Nie modyfikuj za pomocą edytora kodu ", ale ... czy mam wybór?
W każdym razie moim problemem jest: Kiedy wracam do widoku projektu, projektant VS wydaje się ponownie generować kod, ale nawet go nie ma. Teraz projektant deklaruje mój DataGridView i mój TreeView jako lokalni członkowie funkcji InitializeComponent. Mogę łatwo naprawić i cofnąć moje zmiany, ale chciałbym zrozumieć i wiedzieć, czy istnieje sposób, aby wyłączyć generowanie kodu automatycznego projektanta.
Próbowałem również wykonać inną funkcję, która mawszystko, czego potrzebuję, aby projektant nie zepsuł go i nie włączył go do komponentu inicjalizującego, to rozwiązanie działa w czasie wykonywania, ale nie w widoku projektu.
Odpowiedzi:
0 dla odpowiedzi № 1O ile mi wiadomo, krótka odpowiedź brzmi: nie. Jeśli coś jest oznaczone jako Do not edit due to code generation.
, a następnie nie edytuj go :). Sugerowałbym czytanie klasy cząstkowe, ponieważ w ten sposób można modyfikować klasy bezfaktycznie miesza się z wygenerowanym automatycznie kodem. W twoim przypadku musisz przejść do projektanta i naprawić wszystko, aby automatyczne generowanie działało zgodnie z oczekiwaniami.