Verujem da umes dobro da kodiras, i to nije sporno uopste, ali danas je mnogo bitnije razumevati kakve trebaju biti arhitekture pojedinih resenja u pojedinim slucajevima.
Recimo, za tvoj problem, da napravis lep meni i lepe ikonice, mozes raditi putem windows formi (gde si prilicno ogranicen), a mozes uraditi preko WPF-a.
Ako se opredelis za ovo drugo, onda ulazis u jedno podrucje koje zahteva da kompletno promenis postavku svoje aplikacije. WPF se koristi uvek sa MVVM pattern-om, gde moras jasno razdvojiti svoj View (user interface) i Model (apstrakcija podataka u tvom programu) i implementirati, takozvani, medjusloj koji ce lepiti podatke (ViewModel).
Evo ti odlican tutorijal za pocetnike u ovome:
https://www.codeproject.com/Articles/819294/WPF-MVVM-step-by-step-Basics-to-Advance-Level
Preporucujem ti ovaj pristup, jer ti omogucuje da prilicno razdvojis UI od podataka, a sam XAML (jezik kojim u WPF aplikacijama kreiras UI) je izuzetan, maltene, bezgranican za manipulaciju i dizajn interfejsa, a da izgleda, onako, lepo, moderno, i da se izvrsava jako brzo - jos brze nego windows forme.