I am using a Raspberry Pi 3 with the official 7" touchscreen. I would like to build a GUI on visual studio on my PC, and then be able to run the program on the Raspberry Pi, with the Pi running Raspbian. What is the best way to do this?
Have you considered using windows 10 IOT and writing a UWP application that automatically launches with the pi?
Take a look at: https://developer.microsoft.com/en-us/windows/iot for the windows IOT.
The hello world tutorial is here: https://ms-iot.github.io/content/en-US/win10/samples/HelloWorld.htm
and at the bottom of the last link you'll see a guide to setup your app as a startup app.
Microsoft recently released the Visual C++ Linux Development Environment for Visual Studio, which allows to debug and release code from VS directly on the Pi.
Since implementing C# in C++ is possible with manageable effort (even C#-libraries), you might be interested in this workaround. However, you will have to deal with a little C++ though.