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

Szukam zespołu pasjonatów do projektu a potem realizacji programu non-profit

Idź do strony Poprzedni  1, 2, 3 ... , 16, 17, 18  Następny

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



Dołączył: 27 Cze 2017
Posty: 89

PostWysłany: Pon Wrz 11, 2017 10:41 am      Temat postu: Odpowiedz z cytatem Pisownia

Sousuke napisał:
Grzegorz123 napisał:
Kolejne pytanie: jeśli w pliku XML mam cokolwiek napisane z polskimi znakami to przy próbie serializacji wyrzuca mi błąd - niepoprawny znak...
Jak i co ustawić, żeby możliwe było zapisanie i odczytanie w XML dowolnych znaków (również w tak egzotycznych językach jak koreański, tajski i japoński) ?


A jakiego kodu używasz do deserializacji?

Dobre pytanie. Ból w tym, że wywołując serialize/deserialize nie mam na to wpływu tzn. mam gotowe funkcje systemu w których nie ustawiam/nie umiem ustawić strony kodowej. Obecnie nagłówek XML wygląda tak:
Kod:
<?xml version="1.0"?>
<LabelSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

Funkcje serializacji i deserializacji tak:
Kod:
        // Tworzy plik XML na podstawie przekazanego obiektu
        public static void Serialize<T>(string fileName, T data)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(T), new[] { typeof(EL_Line), typeof(EL_Rectangle), typeof(EL_TextBox), typeof(EL_Graphics) });
            using (var fileStream = new FileStream(fileName, FileMode.Create))
            {
                serializer.Serialize(fileStream, data);
            }
        }

        // Odczytuje plik XML
        public static T Deserialize<T>(string fileName)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(T), new[] { typeof(EL_Line), typeof(EL_Rectangle), typeof(EL_TextBox), typeof(EL_Graphics) });

            using (var fileStream = new FileStream(fileName, FileMode.Open))
            {
                return (T)serializer.Deserialize(fileStream);
            }
        }


Zapewne coś gdzieś trzeba ustawić/zadeklarować...
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Sousuke



Dołączył: 19 Lis 2005
Posty: 583
Skąd: Wrocław

PostWysłany: Pon Wrz 11, 2017 12:28 pm      Temat postu: Odpowiedz z cytatem Pisownia

Zobacz sobie tę odpowiedź na stacku https://stackoverflow.com/a/15072834
_________________
Blog na temat programowania w .NET
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Numer GG
Grzegorz123



Dołączył: 27 Cze 2017
Posty: 89

PostWysłany: Pon Wrz 11, 2017 1:10 pm      Temat postu: Odpowiedz z cytatem Pisownia

Sousuke napisał:
Zobacz sobie tę odpowiedź na stacku https://stackoverflow.com/a/15072834

Dzięki Sousuke, google wie wszystko, trzeba tylko umiejętnie zadawać pytania. Rozwiązane kolejne problemy.

W czasie dotychczasowej realizacji kodu aplikacji musiałem zmienić kilka założeń, zmienić nieco definicje klas ale jestem zadowolony z postępów. Jak na takiego początkującego cieniasa C# przy pomocy paru osób udało się zbudować solidny szkielet aplikacji i zaimplementować sporo funkcjonalności. Generalnie zanim człowiek usiądzie do komputera trzeba trochę porysować na kartce, przemyśleć to co się narysowało i poprawiać, poprawiać aż założenia będą zbliżone do ideału. Oczywiście błędów nie da się uniknąć ale ta prosta praca na kartce papieru oszczędza wiele niepotrzebnych nerwów. Kiedy zaczynałem programować (w archeologicznych obecnie językach) tak się właśnie robiło (1988 rok, IBM XT, HDD 22,5MB sic! RAM 256kB) i twierdzę, że jest to ciągle aktualne.... taka mała dygresja i przemyślenie :-)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
samolot



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

PostWysłany: Pon Wrz 11, 2017 8:32 pm      Temat postu: Odpowiedz z cytatem Pisownia

Grzegorz123 napisał:
Niestety z IntegerUpDown nie jestem zadowolony. Wymiary w projektancie są zupełnie inne niż w wersji skompilowanej

Patrząc na załączony obrazek i na twoją wypowiedź, widzę, że większe wymiary w skompilowanym programie ma kotrolka IntegerUpDown. Jeśli tak to moje pytanie brzmi: czy ona ma ustawione w kodzie, lub w oknie Properties właściwości Anchor? . Czy jej wymiary nie są przypadkiem dynamicznie powiązane w zdarzeniu Resize okna z wymiarami kontenera kontrolki?

_________________
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
Grzegorz123



Dołączył: 27 Cze 2017
Posty: 89

PostWysłany: Pon Wrz 11, 2017 11:12 pm      Temat postu: Odpowiedz z cytatem Pisownia

samolot napisał:
Grzegorz123 napisał:
Niestety z IntegerUpDown nie jestem zadowolony. Wymiary w projektancie są zupełnie inne niż w wersji skompilowanej

Patrząc na załączony obrazek i na twoją wypowiedź, widzę, że większe wymiary w skompilowanym programie ma kotrolka IntegerUpDown. Jeśli tak to moje pytanie brzmi: czy ona ma ustawione w kodzie, lub w oknie Properties właściwości Anchor? . Czy jej wymiary nie są przypadkiem dynamicznie powiązane w zdarzeniu Resize okna z wymiarami kontenera kontrolki?

Nie znalazłem takiej właściwości, być może inaczej się nazywa, spróbuję znaleźć wśród setek... Kontrolka nie ma też przypisanych żadnych zdarzeń. Twoja sugestia wydaje się słuszna ale czy uda mi się to znaleźć... nie wiem.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Grzegorz123



Dołączył: 27 Cze 2017
Posty: 89

PostWysłany: Czw Wrz 14, 2017 8:24 am      Temat postu: Odpowiedz z cytatem Pisownia

Nie znalazłem właściwości, która by naprawiła powyższą "przypadłość" rozmiarową. Znalazłem za to gotową kontrolkę tutaj: https://wpfnumericupdown.codeplex.com/ - kod spójny i stosunkowo łatwo zmienić wygląd dostosowując do własnych potrzeb. Nie potrafię jej tylko dołączyć do projektu.
Jest może jakiś prosty sposób dla początkującego ?
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Grzegorz123



Dołączył: 27 Cze 2017
Posty: 89

PostWysłany: Sob Wrz 16, 2017 7:34 pm      Temat postu: Odpowiedz z cytatem Pisownia

Problemu z NumericUpDown nie udało mi się rozwiązać - jeszcze. Ale prosiłbym o pomoc w innej sprawie.
Na załączonej grafice widać jak wyglądają włączone i wyłączone buttony. Katastrofa - z tymi wyłączonymi. Podjąłem próby ze stylami ale po kilkudziesięciu próbach poddałem się.
Chciałbym uzyskać następujące efekty w wyłączonym buttonie:
- brak ramki
- tło - transparent
- image - skala szarości
W oczekiwaniu na podpowiedź próbuję dalej...



disabled_buttons.jpg
 Opis:

Pobierz
 Nazwa pliku:  disabled_buttons.jpg
 Wielkość pliku:  8.85 KB
 Pobierano:  3 raz(y)

Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
samolot



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

PostWysłany: Sob Wrz 16, 2017 9:42 pm      Temat postu: Odpowiedz z cytatem Pisownia

Na stronie 12 tego wątku pisałem, jak ja czasami poprawiam wygląd Buttona po włączeniu jego właściwości Enebled na False.
Co prawda Enabled = False sprawia, że Button staje się nieaktywny, a obraz zmienia się w odcienie szarości, to te szarości wydaja mi się czasem zbyt mało kontrastowe. Ja wtedy zmieniam kolor tła i ewentualnie też kolor czcionki na Buttonie tak, by te szarości były jednak bardziej kontrastowe.
Można by też nie ustawiać Enabled na False, lecz tylko zmieniać kolory lub obrazek na Buttonie na takie "lżej" kolorowe, a efekt nieaktywności uzyskać przez stosowanie zmiennej typu Boolean, którą w odpowiednim momencie ustawiasz na False, a w zdarzeniu Click Buttona po sprawdzeniu, że ma ona wartości False, nie wykonujesz jego dalszego kodu.
Osobiście nie lubię zbyt bladego nieaktywnego Buttona. On ma być nieaktywny, ale jedocześnie wygląd powinien uwypuklać, to że jest właśnie nieaktywny.

_________________
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
Grzegorz123



Dołączył: 27 Cze 2017
Posty: 89

PostWysłany: Sob Wrz 16, 2017 9:58 pm      Temat postu: Odpowiedz z cytatem Pisownia

No ale ja mam ze 20 buttonów, chciałem kompleksowo zmienić je wszystkie. Znalazłem w sieci wiele przykładów ale żaden z nich nie działał jak należy.
Kombinowałem ze stylami i Opacity:
Kod:
<Style.Triggers>
   <Trigger Property="IsEnabled" Value="False">
      <Setter Property="Opacity" Value="0.5" />
   </Trigger>
</Style.Triggers>

ale to powodowało tylko że obraz z przycisku stawał się jaśniejszy i bardziej mdły. Próbowałem też szukać innych opcji Trigger/Setter ale jest tego w sieci tyle, że przejrzenie i przetestowanie zajęło by tygodnie. Z drugiej strony "wyszarzenie" wyłączonego buttona jest tak naturalne, że nie myślałem, że tak prozaiczna czynność będzie kosztować tyle szukania. Cóż, jak się nie uda niczego znaleźć to trzeba będzie przeprosić się z Twoim pomysłem :-)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Grzegorz123



Dołączył: 27 Cze 2017
Posty: 89

PostWysłany: Sob Wrz 16, 2017 10:17 pm      Temat postu: Odpowiedz z cytatem Pisownia

Na przykład ten kod:
Kod:

       <Style TargetType="{x:Type Button}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border x:Name="Overlay" CornerRadius="2">
                            <ContentPresenter/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsEnabled" Value="false">
                                <Setter TargetName="Overlay" Property="Background" Value="Transparent"/>
                                <Setter Property="Opacity" Value="0.3" />
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>


W zasadzie by mi wystarczył ale powoduje on, że po najechaniu myszką na włączony button jego tło nie zmienia się jak to ma miejsce standardowo.
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)
Idź do strony Poprzedni  1, 2, 3 ... , 16, 17, 18  Następny
Strona 17 z 18

 
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.12735 sekund, zapytan = 13
contact

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