C# windows form

Prostor pro osobní dotazy, které nelze jinde dopasovat, případně které přímo nesouvisí s bastlením či elektrotechnikou obecně (protože i bastlíři jsou většinou normální lidé, co nedrží v ruce štípačky a šroubovák 24 hodin denně). Neslouží pro přeposílání obecně známých informací z komerčních webů.

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
samec
Příspěvky: 6686
Registrován: 19 pro 2017, 00:00

C# windows form

#1 Příspěvek od samec »

Vie mi niekto stručne vysvetliť podstatu programovania v C#? Už tretí deň sa snažím vytvoriť jednoduchú Windows Form aplikáciu, ale nejak mi unikajú súvislosti.
Uživatelský avatar
pocitujlasku
Příspěvky: 2764
Registrován: 12 pro 2005, 00:00
Bydliště: SR, Poprad

#2 Příspěvek od pocitujlasku »

Winform, WPF? v principe vytvoris form, nahadzes komponenty, a na nich spracuvas udalosti. Napr. co sa ma stat, ked kliknes na tlacidlo. Ak nevies vobec programovat, tak by som zacal teoriou, co to vlastne programovanie je, datove typy, OOP a potom by som az riesil konkretny jazyk.
No vidis, a tak si sa bal
petrfilipi
Příspěvky: 2902
Registrován: 13 zář 2005, 00:00

#3 Příspěvek od petrfilipi »

Viděl bych to tak nějak na volbu Project/ New project/Form/Windows Form. Tím si vytvoříš formulář (okno), do kterého vkládáš vizuální komponenty (tlačítka, tabulky, texty apod.) a nevizuální komponenty (třeba časovače). A pak jen definuješ, co se stane při té které události. Událost je třeba to, když klikneš na tlačítko, jiná událost je, když na to tlačítko přejedeš myší, další je třeba doběhnutí časovače apod. Trochu problém je, když chceš, aby program udělal něco sam o sebe, třeba po spuštění. To musíš taky napojit na událost, třeba na zobrazení formuláře.

Petr
Uživatelský avatar
samec
Příspěvky: 6686
Registrován: 19 pro 2017, 00:00

#4 Příspěvek od samec »

Myslím, že programovať viem, minimálne v C. Nejaký button by som snáď zvládol, ale ako vytvorím a naplním tabuľku dátami zo súboru pri štarte programu? Kde nájdem nejaký zoznam príkazov, funkcií, referencií, či ako sa to v tom objektovom jazyku volá?
Uživatelský avatar
pocitujlasku
Příspěvky: 2764
Registrován: 12 pro 2005, 00:00
Bydliště: SR, Poprad

#5 Příspěvek od pocitujlasku »

ja dost cerpam z msdn.microsoft.com ale urcite budu existovat knihy so zakladmi C# .net - len pozor, je to nieco uplne ine, ako C navyse, ak tym C myslis nieco pre MCU.
zoznam prikazov nenajdes, su to tisicky, ktore sa navyse rozne vedia kombinovat.
preto existuje vo visual studiu doplnanie a tie rozne napovedy pocas pisania kodu.
No vidis, a tak si sa bal
Uživatelský avatar
PixelOrgy
Příspěvky: 2051
Registrován: 04 zář 2007, 00:00

#6 Příspěvek od PixelOrgy »

Prvne se naucit prostredi, tady nejspis windows - hlavne terminologii.
Pak si precist neco o objektove orientovanem programovani, coz v C neni.

WinForms je ta jednodussi varianta - Pokud se bavime o visual studiu - v podstate ve wysiwyg editoru nakreslis formular, pridas ovladaci prvky.
Pak v panelu "Properties" prepnes na "Events" (udalosti) a muzes definovat funkce pro jednotlive akce - viz prvni obr.

K tvymu pripadu - natahnout data do tabulky ve formulari pri startu - nejspis bys to chtel pri konstrukci formulare, ne pri startu aplikace (to jeste zadny GUI prvek neexistuje). To najdes na stejnym miste Properties => Events v ramci celyho formulare (obr2)

Udalost "Load" se provede defakto jednou, pri kontrukci formulare (new Form1()) - pokud dobre pamatuju. Udalost "Shown" pak kdykoliv se formular zobrazi (tzn se zavola funkce Form1.Show())
Přílohy
2019-01-23 14_15_12-WindowsFormsApp1 - Microsoft Visual Studio (Administrator).png
2019-01-23 14_15_12-WindowsFormsApp1 - Microsoft Visual Studio  (Administrator).png
2019-01-23 14_09_21-WindowsFormsApp1 - Microsoft Visual Studio (Administrator).png
Udalosti
Udalosti
Uživatelský avatar
samec
Příspěvky: 6686
Registrován: 19 pro 2017, 00:00

#7 Příspěvek od samec »

Nemám Visual Studio od MS. Pre minimálnu inštaláciu spolu s .NET vyžaduje 10GB voľného miesta na disku. Ja mám Notebook UMAX s 30GB diskom a Windows 10. Voľné mám max. 4GB. Takže som našiel a nainštaloval nejaký SharpDevelop v4.4, ktorý zaberá na disku len 64MB.
Tabuľkou myslím normálnu tabuľku s riadkami a stĺpcami, do ktorých sa načítajú dáta zo súboru pri spustení aplikácie. Okrem C programujem aj v Javascript a php, takže zvládam aj C++, aj keď zatiaľ mi nikto presne nevysvetlil, o čom je objektové programovanie, okrem iného zápisu. A to boli programátori študovaní. Ja som hlavne elektrotechnik.
Uživatelský avatar
PixelOrgy
Příspěvky: 2051
Registrován: 04 zář 2007, 00:00

#8 Příspěvek od PixelOrgy »

SharpDevelop neznam, to nemuzu slouzit. Je me jasny, co je to tabulka :-D Precti si jeste jednou tu vetu - je rozdil, kdy se naplni (a kolikrat), podle toho se vybere spravna udalost.

Forum asi neni uplne nejlepsi platforma na vysvetlovani OOP, ale ja jako hlavni vyhodu vidim to, ze muzu jednoduse reprezentovat realny entity objektem - treba tabulku v DB, okno, tlacitko...
Pak jen vytvaris instance treba toho tlacitka, ktery je ale definovany jen jednou...
Treba nadefinujes tlacitko (velikost, barvu, font atd) a pak jen vytvaris instance toho tlacitka a menis jen tu samotnou funkci OnClick.... Nekdy je to za cenu vykonu, ale to pak zalezi na konkretni aplikaci...

Nevim, jestli v tech 64MB je i potrebny SDK a build nastroje
Uživatelský avatar
pocitujlasku
Příspěvky: 2764
Registrován: 12 pro 2005, 00:00
Bydliště: SR, Poprad

#9 Příspěvek od pocitujlasku »

OOP nie je len o inom zapise, tam ide hlavne o to, ze mas nejake objekty, ktore obsahuju data, udalosti... a napr. nas zakladny objekt, kde mas spracovane ukladanie, nacitanie dat, nejaku datovu strukturu (teda nieco ako zoznam prvkov a ich pomenovanie, datove typy) a nejake operacie s nimi.
V istom pripade by si potreboval to iste, len dajme tomu rozsirit o jednu operaciu. Tak namiesto vytvarania toto isteho objektu a pridania ten operacie ti staci podedit povodny a pridat tu novu operaciu. cize mas zaklad na ktorom si budujes dalsie rozsirenia. A ak sa v buducnosti nieco zmeni, tak ti staci urobit zmenu v zaklade a to sa automaticky premietne do vsetkych rozsireni.
Ono je to zlozite vysvetlit, na pochopenie su najlepsie prakticke ukazky a tych je na internete kopec.
Aj php pouziva OOP.
No vidis, a tak si sa bal
Odpovědět

Zpět na „Nezařaditelné“