Po otwarciu formularza w Visual Studio 2005 (C#) projektant automatycznie zmienia rozmiar formularza i przenosi/zmienia rozmiar kontrolek bez dotykania projektanta. Plik źródłowy zostanie zmieniony i kiedy zamknę projektanta, zostanie wyświetlony monit o zapisanie pliku * .cs. Próbowałem zajrzeć do opcji studia wizualnego bez żadnego sukcesu. jakieś pomysły? konfiguracja wizualna studio czy coś? dziękuję, TalVisual Studio 2005 Projektant przenosi elementy sterujące i zmienia rozmiar Formularz
Odpowiedz
Znalazłem pracę.
nie jestem pewien, co się dzieje, ale zmieniłem moje właściwości wyświetlania. i działa dobrze. tutaj jest sekwencja: wyświetl propertis-> zakładka ustawień-> z góry. w górnym oknie dialogowym zmieniłem "Ustawienia DPI" z Dużego (120dpi) na Normalny (96 dpi).
Z tym należy mieszkać. Nawet w VS2008 takie rzeczy zdarzają się od czasu do czasu. Zależy to głównie od zawartości formularza (formanty, pozycje itd.) I nie ma opcji w VS do wyłączenia takiego zachowania.
Po otwarciu formularza w projektancie kontra Środowisko wykonawcze przebudowuje wygląd z kodu źródłowego. Czasami w tym momencie dokonywał zmian. Również, gdy po prostu dodajesz jedną formant do postaci, projektant w pełni przebudowuje plik kodu źródłowego i pliki zasobów. Jest to znany problem i wydaje się, że MS nie naprawi go, ponieważ poruszają się w kierunku WPF.
Więc kilka punktów, aby uprościć swoje życie:
- Przejście do VS2008, projektant były bardziej spójne, ale nadal losowe kontrole .designer.cs złożyć
- Umieść swój kod w jednym z repozytoriów źródłowych, więc jeśli przypadkowo zapisałeś taki formularz, możesz go przywrócić z repozytorium.
Pracowałem nad tym problemem przez większość dnia i znalazłem kilka interesujących rzeczy: Głównym źródłem problem wydaje się polegać na kotwiczeniu. Jeśli użyję dokowania do ustawienia kontrolek, zamiast zakotwiczać, moje problemy znikają. Znalazłem kilka wpisów na blogu z 2003 (!), Które szczegółowo opisują, jak można użyć dokowania zamiast zakotwiczania i wyjaśnić, w jaki sposób zakotwiczenie może złamać projektanta formularzy systemu Windows. Wygląda na to, że ten problem może mieć ponad 7 lat!
Oto posty:
Kontrole w mojej formie były konsekwentnie wypaczane przez projektanta - problem nadal występuje w VS 2012. Wygląda na to, że przejście do dokowania go zatrzymało. – pettys
Ugh, nadal problem w VS2013, dzięki za to naprawdę pomogło. – heisenberg
Wynika to AutoScaleMode
-property. Twoje formularze zostały prawdopodobnie zaprojektowane z różnymi ustawieniami DPI lub Czcionka niż w ustawieniach ekranu systemu Windows. AutoScaleMode
-property ma 4 różne możliwe wartości: Dpi
, Font
, Inherit
lub None
. W trybie Dpi
lub Font
Twoje formularze i formanty będą automatycznie zmieniane w zależności od ustawień wyświetlania okien.
Tak więc, ustaw wartość -property na None
we wszystkich formularzach i formantach i nie będą one już automatycznie zmieniane. Spróbuj zaprojektować swoje formularze, aby zapewnić wystarczającą ilość miejsca w każdym sterowaniu, aby tekst się zmieścił, nawet jeśli rozmiar tekstu jest ustawiony na 125%.
Wydaje się, że zrobiłem to za mnie. Musiałem edytować plik * Form.Designer.cs, aby to zmienić. AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; i usuń to.AutoScaleDimensions = new System.Drawing.SizeF (6F, 13F); (obie linie są razem w pliku .Designer.cs) – Jimmy
Ustawienie dla mnie minimalnych i maksymalnych ustawień rozmiaru do bieżącego rozmiaru. Zapobiegło to zmianie rozmiaru VS.
Miał ten sam problem z kontrolkami zakotwiczonymi na górze, w lewo i prawo w obrębie skomplikowanych TabControls. Projektant formularzy wizualnych zwiększał szerokość wszystkich zagnieżdżonych kontrolek za każdym razem, gdy otwierałem formularz.
Znalazłem proste obejście dzięki this post. Po prostu dodałem panel do każdej karty i ustawiłem ich właściwości doków do wypełnienia. Wszystkie istniejące kontrole w zakładkach zostały przeniesione wewnątrz tych paneli. Działa to, nawet jeśli elementy sterujące są zakotwiczone na górze, na lewo i na prawo.
Works przynajmniej dla Visual Studio 2013 i 2015.
miałem ten problem, zbyt. Za każdym razem, gdy otwierałem projektanta, każde pudełko z kotwicą "prawo" zostało przesunięte o około 20 pikseli w lewo. Dodatkowo, na dole każdego pudełka z kotwicą "w lewo" znajdowało się około 200 pikseli poza formularzem.
Ten formularz ma wiele elementów sterujących i nie powinien się zmniejszać na mniejszych wyświetlaczach, więc został ustawiony na autoprzewijanie, sam formularz był mniejszy w projektancie niż przedstawiony minimalny rozmiar (historycznie ...). Po prostu ustawiłem rozmiar na minimalny, tak aby w projektancie nie pojawiły się paski przewijania, a kotwice działały zgodnie z oczekiwaniami, nie psując pozycji.
Przeczytałem pierwszy wpis z odpowiedzi Ryantma, która doprowadziła mnie do rozwiązania. Najwyraźniej ma to coś wspólnego z zamówieniem .Net wykonuje zdarzenia takie jak ustawienie rozmiaru formularza.
Miałem trywialny formularz z kilkoma kontrolkami na nim, gdzie OK i Anuluj na dole były przesuwane, gdy tylko formularz został otwarty w projektancie VS2013. To samo zachowanie zaobserwowano w VS2015.
Zaakceptowana tutaj odpowiedź DPI nie rozwiązała problemu dla mnie, ani nie było żadnych problemów dotyczących rozmiaru/dopełnienia/marginesów.
Usuwanie elementów sterujących, które są przesunięte i dodając je z powrotem do postaci rozwiązał problem dla mnie, jak sugeruje ptutt tutaj: Visual Studio designer moving controls and adding grid columns when form is opened
Choć doceniam sugestię ryantum i linki za pomocą dokowania [panele] jak również wspomniałem w linku powyżej z postem na blogu Rolanda tutaj https://weblogs.asp.net/rweigelt/28984, z czymś tak trywialnym, że wolałbym po prostu odejść z usuwaniem/dodawaniem z powrotem.
Znalazłem blokowanie formantów z menu formatu było proste i skuteczne rozwiązanie. VS2013
Miałem ten problem z VS 2015. Użyłem paneli dokowania z kontrolkami, które nieoczekiwanie poruszyły się jako ich potomkowie. Domyślnie elementy sterujące zostaną wyrównane w lewo, ale można zmienić orientację. Moje przyciski przestały się poruszać.
- 1. Projektant formularzy programu Visual Studio zmienia układ po ponownym otwarciu ze względu na minimalny rozmiar
- 2. C# Licencja aplikacji Komponenty i elementy sterujące
- 3. Making projektant Visual Studio ignorować własność publiczną
- 4. Projektant diagramów klas Visual Studio 2008
- 5. Visual Studio zmienia plik project.sln
- 6. Elementy sterujące narzędzia ToolStrip
- 7. Profilowanie kodu w Visual Studio 2005
- 8. Integracja Mercurial w Visual Studio 2005?
- 9. Skąd pobrać Visual Studio Express 2005?
- 10. Zadokowane elementy sterujące umieszczone w TableLayout nie są automatycznie mniejsze niż rozmiar ich rozmiaru.
- 11. Jak dodać elementy sterujące interfejsu Metro do zestawu narzędzi w visual studio?
- 12. Projektant bazy danych Visual Studio 2012 - Czy zmieniono funkcjonalność?
- 13. Niestandardowy projektant XAML w niestandardowym projekcie typu Visual Studio
- 14. Visual Studio zmienia sposób Ctrl-KD działa
- 15. Jak zmienić wersję rozwiązania z Visual Studio 2010 na Visual Studio 2005?
- 16. Visual Studio 2010 ciągle zmienia domyślną przeglądarkę.
- 17. Jak dziedziczyć ogólny formularz i otworzyć go w projektancie Visual Studio?
- 18. Obejście dla Visual Studio 2005 C++ dziedziczenie bug
- 19. Dlaczego węzeł-gyp (i inne elementy) wymagają Visual Studio?
- 20. Elementy sterujące mapy witryn z https
- 21. Użyj TinyInt, aby ukryć/pokazać elementy sterujące?
- 22. Zawsze wyświetlaj elementy sterujące powiększeniem w MapView
- 23. WPF: Jak rozłożyć elementy sterujące w StackPanel?
- 24. Przechwytywanie cout w oknie wyjściowym Visual Studio 2005?
- 25. Jak dodać plik WSDL do projektu programu Visual Studio 2005?
- 26. Visual Studio 2005 nie obsługuje Sql Server 2008
- 27. Wielokolumnowe elementy sterujące ComboBox dla WinForm
- 28. Google Maps: jak przesunąć elementy sterujące powiększeniem?
- 29. Jak kierować wszystkie elementy sterujące (style WPF)?
- 30. Skonfiguruj Visual Studio 2005, aby wydrukować numery linii
to okropne, że na projektanta IDE wpływa twój DPI ekranu . Przykro mi to słyszeć. :( –
Z wielu horrorów utrwalonych przez Windows, "ustawienia DPI" jest jednym z najgorszych.To ustawienie powoduje więcej problemów z większą liczbą aplikacji niż prawie wszystko, co widziałem. – Stewbob