Yes, you can. Create a console application, add the necessary references and forms, then show your main form at the beginning. With this code you can change the content of a label on a form:
Program.cs:
static void Main( string[ ] args ) {
var f = new Form1( );
var t = new Thread( delegate( object form ) {
System.Windows.Forms.Application.Run( form as Form1 );
} );
t.Start( f );
while ( true )
f.SetText( Console.ReadLine( ) );
t.Join( );
}
Form1.cs:
public partial class Form1 : Form {
public Form1( ) {
InitializeComponent( );
CheckForIllegalCrossThreadCalls = false; // Note!!
}
public void SetText( string text ) {
label1.Text = text;
}
}
I don't know the implications of setting CheckForIllegalCrossThreadCalls to false though.