Why don't you save the Windows Forms application as a separate executable and call process.start ()?
for instance
Process.Start("c:\yourwindowsformsapplication.exe");
You can exit the console application or continue working in the console application after running windowsapplication.exe.
And use remote access to communicate between both applications.
or....
Create a new thread and call form.show () on the new thread
Example:
Form frm=new form(); Thread th=new Thread(frm.show); th.start();
source share