I am wondering how the GUI components in C# and Java are working behind the scenes. To me it seems like each component needs to have it's own thread that is listening on it. If you have the Frame, ButtonA and ButtonB for example, are there three separate threads then listening on each of them? Like there is a Frame thread listening on the Frame, a ButtonA thread listening on ButtonA and a third thread listening on ButtonB? How can they be listened to at the same time otherwise? I also wonder if it is bad practice to use the GUI designer in Visual Studio. Is it unprofessional to use the GUI designer tool and should I learn to code the GUI from scratch? Should I know how to code the GUI in C#? I already know Swing quite well in Java.
Thanks!