| | |
Autor | Správa |
---|
Registrovaný: 25.11.07 Prihlásený: 02.07.21 Príspevky: 101 Témy: 21 Bydlisko: Bratislava | Napísal autor témy SuchSoft: 26.05.2013 20:32 | |
|
Heh, veď som skúšal. Nastavil som ako public, to nešlo, chcel som nejako vytvoriť referenciu, ale netuším ako :-( Ja viem, že sa často pýtam, aj na blbosti Ja musím do konca budúceho týždňa tento projekt odovzdať, tak trošku nestíham Mohol by si mi načrtnúť ako to spraviť? Ja som to všelijako skúšal meniť aj v súbore Input_Form.Designer.cs ale moc som neuspel. Toto je zásadná vec, nemám ako užívateľovi dať vedieť o výsledku Už sa teším, keď budem mať túto vec za sebou, a budem sa môcť sústrediť nie na to, čo budem programovať, ale na to ako Díky.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Neviem, ako to máš celé riešené, ale najjednoduchšie je urobiť takúto srandu: form: Kód: public class MyForm : Form { public string NejakyTextElementu { get { return txtBox1.Text; } set { txtBox1.Text = value; } }
public static MyForm Instance { get; private set; } public MyForm() { Instance = this; } }
kdeľkovek inde: Kód: MyForm.Instance.NejakyTextElementu = "blablabla"; Normálne by som to odporúčal riešiť asi inak, ale keď ti to ponáhľa, toto je asi najrýchlejšie.
_________________ C#, PHP, ... |
|
Registrovaný: 25.11.07 Prihlásený: 02.07.21 Príspevky: 101 Témy: 21 Bydlisko: Bratislava | Napísal autor témy SuchSoft: 28.05.2013 19:45 | |
|
Ďakujem.
Má to malilinkú chybičku, ak vypíšem do toho poľa medzivýsledok a hneď ráta ďalej. Tak sa nestihne obnoviť ten objekt. Skúšobne som tam dal viacriadkový text, zmenil sa scrollbar, ale text nie je vidieť. Až keď program dopočíta, čo trvá niekedy aj 20 sekúnd, potom sa objaví. Neviem, ktorý príkaz by zabezpečil, aby sa objekt úplne vykreslil aj s textom.
Dík.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Riešiš to asynchrónne alebo synchrónne? Čo sa týka veľkosti fontu, niečo takéto by malo fungovať: Kód: newMatrixText.Font = new Font(newMatrixText.Font.FontFamily, (float)sizeOfFont.Value, newMatrixText.Font.Style);
// upravovať príspevok ti nejde preto, lebo tak je nastavené fórum... Máš len obmedzený čas, počas ktorého to môžeš upraviť.
_________________ C#, PHP, ... |
|
Registrovaný: 25.11.07 Prihlásený: 02.07.21 Príspevky: 101 Témy: 21 Bydlisko: Bratislava | Napísal autor témy SuchSoft: 28.05.2013 23:35 | |
|
Dík s tým fontom, to je lepšia ako to, čo som našiel na nete. Na to vykreslenie TextBoxu som použil: Kód: Application.DoEvents(); a prekvapujúco to hneď išlo na prvý šup. No a mám asi najsamposlednejšiu vec. Ak užívateľ nastaví príliš veľkú presnosť výpočtu a zadá veľké čísla, môže sa stať, že program bude rátať aj niekoľko minút. Existuje nejaký jednoduchý spôsob, ako násilne ukončiť proces? Ja som dal na 2 miesta v kóde Kód: Application.DoEvents(); teraz síce môžem používať prvky formulára, ale neviem ukončiť proces. Som spravil všetky buttons neaktívne, okrem button "STOP". Ale čo dať do STOP_Click() To asi nebude také jednoduché. Ty si mi niečo ohľadne tohoto písal, teda ak si dobre spomínam, ale neviem to nájsť. Je to jedno, aj keby sa mala ukončiť celá aplikácia, ide len o to, aby taká možnosť bola. Proste aby neostala aplikácia frozen na dlhý čas, bez možnosti ju ukončiť.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Ak chceš, aby aplikácia reagovala aj počas výpočtov, potrebuješ to rozdeliť na viac threadov.. Najjednoduchšie je asi použiť triedu BackgroundWorker, tá podporuje aj zrušenie, reportovanie progresu atď. Len pri vypínaní aplikácie nezabudni zrušiť všetku rozrobenú robotu
_________________ C#, PHP, ... |
|
Registrovaný: 25.11.07 Prihlásený: 02.07.21 Príspevky: 101 Témy: 21 Bydlisko: Bratislava | Napísal autor témy SuchSoft: 28.06.2013 9:28 | |
|
Rozdelenie na thready som nezrealizoval, už som nemal šancu to stihnúť. Ale na druhej strane app je spravená tak, že sú ošetrené všetky možnosti zacyklenia. Pokiaľ tam používateľ vyslovené nezadá obrovské čísla (10-miestne alebo aj 50- a viacmiestne), tak to aplikácia zráta do 1 minúty, pri nastavení najvyššej presnosti, možno 5 minút. Až po odovzdaní projektu ma napadlo, že stopnutie aplikácie som mohol celkom jednoducho (iba myšlienka je jednoduchá) zrealizovať, pomocou Application.DoEvents(); ak to dám do cyklu, môže používateľ používať ovládacie prvky, t. j. aj tlačidlo "STOP", takže by som v tom cykle mohol ošetriť aj stlačenie tlačidla STOP, musel by som potom síce vymyslieť, ako z tých všetkých "podprogramov" výjsť von, ale dalo by sa to. Ešte raz by som sa Ti chcel poďakovať za nezištnú pomoc. Veľmi veľa som sa naučil, hlavne vďaka Tebe, si ma vždy usmernil na správnu cestu Teraz si pôjdem kúpiť tú knihu (Čistý kód, či ako sa volá) a pôjdem sa zdokonaľovať v efektivite a prehľadnosti kódu. (Občas sa tu na niečo opýtam ) Už aj viem, čo by som chcel najbližšie naprogramovať, na začiatok 2 hmotné telesá na ploche a ich vzájomná interakcia vzhľadom na gravitačnú silu. Samozrejme graficky prevedené. Hneď sa črtá pre mňa nová vec, ako sa prepnúť do módu, aby som mohol používať celú obrazovku (Full-Screen).
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Nemáš začo Kľudne si potom založ nové témy a poradím, ak budem vedieť Pri ďalších projektoch už ale odporúčam začať rovno s WPF Budúcnosť winforms je prinajlepšom diskutabilná, nehovoriac o rôznych obmedzeniach a blbostiach..
_________________ C#, PHP, ... |
|
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|