• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    TOOMIX
    TOOMIX --- ---
    VIRTUALVOID: mám

    public HlavniOknoMobile()
            {
                Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("cs-CZ");
                InitializeComponent();
            }
    VIRTUALVOID
    VIRTUALVOID --- ---
    TOOMIX: nema sa nastavovat kultura pred InitializeComponent ?
    TOOMIX
    TOOMIX --- ---
    TENCOKACISTROMY: právě, že vůbec nic ;) Při startu aplikace se načte čeština
    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("cs-CZ");

    a po přepnutí na angličtinu skrze combobox se to na 27 vteřin zasekne a pak je to anglicky
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    TOOMIX: A co jsi menil mezi tim, kdy to bylo do vteriny a kdy to zacalo trvat pul minuty?
    TOOMIX
    TOOMIX --- ---
    Zdravím, mám dotaz. Mám windows form, dva resource soubory (cz a eng) a potřebuju comboboxem přepnout jazyk za běhu programu. Tenhle kód fungoval, přepínal během vteřiny. Přijdu z oběda zkusím to, a změna trvá 27 vteřin, během kterých je aplikace zaseklá. Restart VS a PC nepomohl, takže bude zádrhel předpokládám jinde. Foreach projíždí cca 270 labelů, textboxů atd. Nějaký nápad, proč to najednou nejde?

            #region Zmena jazyka
    
            private List<Control> ChangeLanguage(Control container, List<Control> list)
            {     
                if (cbJazyky.SelectedItem.ToString() == "English")
                {
                    lang = "en";
                }
                if (cbJazyky.SelectedItem.ToString() == "Czech")
                {
                    lang = "cs-CZ";
                }
                foreach (Control c in container.Controls)
                {
                    //vycet typu Controls ke zmene jazyka
                    if (c is Label || c is GroupBox || c is DevExpress.XtraTab.XtraTabPage || c is TextBox || c is System.Windows.Forms.ToolStripMenuItem) list.Add(c);
    
                    if (c.Controls.Count > 0)
                        list = ChangeLanguage(c, list);
                    ComponentResourceManager resourcesComponents = new ComponentResourceManager(typeof(HlavniOknoMobile));
                    resourcesComponents.ApplyResources(c, c.Name, new CultureInfo(lang));
                }
                return list;
            }
            private List<Control> GetAllControls(Control container)
            {
                return ChangeLanguage(container, new List<Control>());
            }
            //zmena vyberu jazyka v comboboxu
            private void cbJazyky_SelectedIndexChanged(object sender, EventArgs e)
            {
                ChangeLanguage(this, new List<Control>());
            }
           #endregion
    
    CERMINEK
    CERMINEK --- ---
    TENCOKACISTROMY: Paradox zadání úlohy - nechci class diagram vestavěný ve VisualStudiu, ale nemusí to být vyloženě UML... Vyber si :)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    yEd nema zadnej import ani synchronizaci se zdrojakama (mozna na to exituje nejakej tool, pac format pro yEd je *.xml).

    CERMINEK: A ty obycejny diagramy ve VS ti nestaci, kdyz nechces vylozene UML?
    CERMINEK
    CERMINEK --- ---
    VIRTUALVOID: Zkoumám ho, ale vypadá, že v něm to budu muset nakreslit a nadatlovat ručně, resp. nenašel jsem možnost, jak mu předat projekt z VisualStudia, aby jej alespoň částečně rozkreslil... Někde jsem četl, že Visual Studio to umí předat do MS Office Visio - má s tím někdo zkušenosti? Ačkoliv přes Visio se mi to moc řešit nechce...
    VIRTUALVOID
    VIRTUALVOID --- ---
    CERMINEK: yEd ?
    CERMINEK
    CERMINEK --- ---
    TENCOKACISTROMY: Enterprise Architekt jsem si prošel, ale je to v mém případě jako kladivem na komára. Něco jednoduššího neexistuje? Teoreticky to ani nemusí převádět do UML, ale stačí jakékoliv bubliny, aby to vypadalo.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    VIRTUALVOID: skoda jen, ze pred tim musis zmacknout ALT+V, jinak by to byla mnohem vetsi legrace :D
    VIRTUALVOID
    VIRTUALVOID --- ---
    TENCOKACISTROMY: hej, skvely nastroj pre pracu v open-space ;)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    VIRTUALVOID: to musi bejt bezva porad poslouchat "build, build, build ... undo, undo ... rename" :D
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    TENCOKACISTROMY: Pak myslim ta nejvyssi edice VS ma neco co se UML dost blizi. Ale MS nejvetsi pokus, sblizit se s "opravdovym" UML, byl/je Visio. Dle myho nazoru ale Visio nesaha Enterprise Architektu ani po kotniky. Navic EA ma aspon citelnej format souboru (stara Access databaze) narozdil od Visia, ktery ma i to aplikacni COM+ rozhrani takovy divny.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    CERMINEK: Enterprise Architect umi nacist zdrojaky C#/VB.NET/atd... a udelat ti z toho class diagramy.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: A to dela co? Budto nic a nebo to vraci false.
    NECROMAN
    NECROMAN --- ---
    TENCOKACISTROMY: cekal bych neco jako kdyz z listu odebiras polozku, ktera tam neni O.o
    CERMINEK
    CERMINEK --- ---
    Ahoj, mám dotaz. Mohu nějakým způsobem z Visual Studia (v. 2010 Professional) vytáhnout strukturu programu? Podařilo se mi najít akorát diagram tříd, ten je OK, ale co nějaké "UML" či tak něco? Přiznávám, že ani nevím pod jakými hesly přesně hledat a zatím jsem nic extra nenašel a nechce se mi to kreslit ručně.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: Proc bys proboha v takovym pripade hazel vyjimku?
    NECROMAN
    NECROMAN --- ---
    Prave jsem asi objevil ameriku zjistenim, ze vicenasobne odebrani event handleru by defaultne nehaze vyjimku, jak jsem si myslel :)

    border.ManipulationDelta += BorderManipulationDelta;
    border.ManipulationDelta -= BorderManipulationDelta;
    border.ManipulationDelta -= BorderManipulationDelta; // nic se tu nestane

    Teda vyjimku to hazet muze v zavislosti na implementaci toho eventu:

    public event EventHandler MyEvent;
    {
    add { _delegate += value; }
    remove { _delegate -= value; } // tady muze byt test a hazeni vyjimky
    }
    Kliknutím sem můžete změnit nastavení reklam