Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

[VC#] Resetowanie ustawień kontrolek po skopiowaniu folderu projektu



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Visual Studio: C#, VB, VC++, …
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Hammer



Dołączył: 06 Kwi 2008
Posty: 52

PostWysłany: Nie Cze 16, 2019 12:42 pm  OP    Temat postu: [VC#] Resetowanie ustawień kontrolek po skopiowaniu folderu projektu Odpowiedz z cytatem Pisownia

Witam

Mam następujący problem. Zrobiłem aplikację z Windows Forms w której umieściłem TabControl. W niej umieściłem datagridview. Zmieniłem ustawienia "ColumnHeaderDefaultCellStyle" i "Default cell style". Kontrolkę DGV skopiowałem kilka razy, aby wyświetlała inne rzeczy, zmieniłem oczywiście nazwę. Po jakimś czasie stwierdziłem, że formatowanie które zrobiłem nie podoba mi się, za duże litery, nie ta czcionka, pochylenie itp. Zmieniłem zatem ustawienia. Skompilowałem i chodziło. Chciałem wprowadzić zmiany więc wykonałem kopię całego projektu na dysku (CTRL + C, CTRL +V ) i otworzyłem projekt z nowego folderu, a tam ustawienia kontrolek takie jak przed zmianą. W projekcie z którego kopiowałem ustawienia są dalej takie jak powinny (czyli nowe).
W czym jest problem? Używam środowiska Visual Studio 2017 for Desktop oraz Visual Studio 2017 Community
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
samolot



Dołączył: 26 Sty 2006
Posty: 8314
Skąd: Toruń

PostWysłany: Nie Cze 16, 2019 7:39 pm      Temat postu: Odpowiedz z cytatem Pisownia

1.Może to jest ten przypadek, że w ustawieniach twojego projektu nie masz ustawione automatycznego zapisywania projektu przed debugowaniem? W takim przypadku, jeśli w trybie projektowania zmienisz coś w kodzie lub zmienisz właściwości kontrolek, to uruchomienie debugowania nie jest automatycznie poprzedzone zapisem projektu na dysk, lecz tylko przetwarzany jest projekt z pamięci komputera do wersji wykonywalnej.
Wersja exe jest zapisywana na dysk do katalogu Debug, ale projekt nie jest zapisywany automatycznie. Jeśli w tym momencie zamkniesz środowisko projektowe bez zapisu projektu, to efekt może być taki, że będziesz miał na dysku wersję wykonywalną z ostatnimi zmianami a zapisany na dysku projekt będzie w wersji sprzed ostatnich zmian.
Wówczas, siłą rzeczy, ponownie uruchomiony projekt z dysku nie będzie zawierał ostatnich zmian.

Wiec jeśli to jest taki przypadek, to najlepiej zabezpieczyć się na przyszłość i w ustawieniach środowiska ustawić automatyczne zapisywanie projektu w momencie uruchomienia debugowania.

2. Jeśli masz ustawione zapisywanie ustawień tego programu do MySetings, to tu też może być zjawisko "nie przenoszenia ustawień". W nowej lokalizacji ustawienia MySettings są zerowane do tak zwanych "fabrycznych".

_________________
Nie zadawaj bezcelowych pytań / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Hammer



Dołączył: 06 Kwi 2008
Posty: 52

PostWysłany: Wto Cze 18, 2019 12:33 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Niestety to nie to. Zauważyłem, że problem pojawia się po skopiowaniu folderu i otwarciu projektu na innym komputerze. Nie pomaga zalogowanie się do konta Microsoftu, więc raczej nie zapisuje ustawień na koncie, a ustawienia są gdzieś za lokalnej maszynie.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
samolot



Dołączył: 26 Sty 2006
Posty: 8314
Skąd: Toruń

PostWysłany: Wto Cze 18, 2019 10:09 pm      Temat postu: Odpowiedz z cytatem Pisownia

Cytat:
Niestety to nie to.
Po tym, co teraz napisałeś ,to sądzę, że jest prawie pewne, że to jest ten drugi przypadek.
Cytat:
Zauważyłem, że problem pojawia się po skopiowaniu folderu i otwarciu projektu na innym komputerze
Tak właśnie zachowuje się środowisko projektowe w tym drugim przypadku
Cytat:
Nie pomaga zalogowanie się do konta Microsoftu, więc raczej nie zapisuje ustawień na koncie
Zgadza się, nie ma to związku z "internetowym" kontem Microsoftu. To jest zjawisko w środowisku projektowym Visual Studio Microsoftu i znane jest jeszcze z okresu sprzed tworzenia internetowych kont użytkownika systemu Windows. Chodzi o to, że Twoje środowisko projektowe ma taki mechanizm, jak MySettings, który oferuje zapisywanie ustawień tworzonego przez ciebie programu do MySettings. Te ustawienia MySettings są zapisywane na dysku na koncie użytkownika lokalnego. Ta lokalizacja jest zapamiętywana przez projekt. Jeśli po ponownym otwarciu z dysku zapisanego projektu sprawdzi on, że twój projekt znajduje się jest w zmienionej lokalizacji, zapisane ustawienia MySettings są przywracane do początkowych. Wystarczy, że w nowe miejsce przeniesiesz sam program wykonywalny .exe, niezależnie od środowiska projektowego. Program .exe, wykrywszy nową lokalizację, zeruje swoje ustawienia MySettings.
Wyjściem jest zapisywanie ustawień programu .exe do własnego pliku ustawień w katalogu programu .exe.
Nie wiem, czy ty korzystasz w tworzonym przez ciebie programie w mechanizmu MySettings. Jeśli tak, to on tak się zachowuje.

Poniżej jeden z moich niegdysiejszych wpisów na tym forum, dotyczącym ustawień MySettings
Kiedy ustawienia My.Settings są zerowane do wartości pierwotnych

_________________
Nie zadawaj bezcelowych pytań / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Hammer



Dołączył: 06 Kwi 2008
Posty: 52

PostWysłany: Pią Cze 21, 2019 8:02 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Możesz mi podpowiedzieć, gdzie szukać opcji zapisywania ustawień do MySettings?
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
samolot



Dołączył: 26 Sty 2006
Posty: 8314
Skąd: Toruń

PostWysłany: Pią Cze 21, 2019 9:34 pm      Temat postu: Odpowiedz z cytatem Pisownia

Napiszę to na podstawie tego środowiska projektowego, które ja używam: VB 2010. Po otwarciu nowego projektu nie masz jeszcze tych "wielkości użytkownika", które program zapisuje do MySettings, trzeba je sobie przygotować. W tym celu w otwartym projekcie wchodzisz w okno Solution Explorer i tam dwukrotnie klikasz pozycję "MyProject". Otworzy się okno z ustawieniami twojej solucji i w nim klikasz zakładkę "Settings". Na tej zakładce masz tabelkę, w której wstawiasz swoje ustawienia.
1. W kolumnie "Name" wpisujesz swoją nazwę ustawienia.
2. w kolumnie "Type" wybierasz z listy rozwijalnej, jakiego typu będzie to zmienna (np. liczba, string ,itp.)
3. W kolumnie "Scope" wybierasz zakres zmiennej.
3 a) Możesz wybrać ten zakres jako"Application" - będzie to wielkość, której wartość w tej tabelce ty możesz na etapie projektu wpisać w kolumnie "Value". Po uruchomieniu programu ani użytkownik ani aplikacja nie może jej zmienić, można ją tylko pobrać z "MySettings"
3 b) Możesz wybrać ten zakres jako "User" - i także w kolumnie "Value" wpisać jej wartość. Na przykład będzie to wartość liczbowa = 0. Ponieważ ta zmienna ma status "User", to po uruchomieniu programu można ją zarówno pobierać z "MySettings" jaki tam zapisywać. Jeśli w kolejnym uruchomieniu zapiszesz tam liczbę 5, to po ponownym uruchomieniu programu możesz tę nowo zapisaną wartość pobrać, ale tylko wtedy, gdy:
a) nie zmienisz lokalizacji projektu,
b) nie zmienisz lokalizacji programu wykonywalnego .exe
c) nic nie zmienisz w kodzie projektu
We wszystkich tych trzech przypadkach, jeśli nastąpi chociaż jedna z tych zmian, wartość zmiennej liczbowej powróci do wartości "fabrycznej" = 0

_________________
Nie zadawaj bezcelowych pytań / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Hammer



Dołączył: 06 Kwi 2008
Posty: 52

PostWysłany: Pon Cze 24, 2019 8:29 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Dziękuję za wyjaśnienie. Muszę to rozpracować, żeby to właściwie wykorzystać, ponieważ w moim projekcie nie ma ustawionych tych wartości.

Zauważyłem jeszcze jedną rzecz. Po przeniesieniu na inną maszynę następuje zerowanie ustawień, ale nie do domyślnych formularza tylko do domyślnych kontrolki nadrzędnej, w moim przypadku jest to groupbox. Jak można wyłączyć dziedziczenie z kontrolki nadrzędnej?
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Visual Studio: C#, VB, VC++, … Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.22514 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |