1. program code structure
2. Win32DebuggerHelper.cs
usingSystem.Runtime.InteropServices;/*TODO: Use method Win32.allocconsole (); Console.WriteLine (@ "I am debugging information: currently running into load events"); */namespacewinformuseconsoletotestprogramdemo{/// <summary> ///Debug WinForm Program via console console///LDH @ 2018-2-26/// </summary> Public classWin32debuggerhelper {[DllImport ("Kernel32.dll")] Public Static extern BOOLAllocConsole (); [DllImport ("Kernel32.dll")] Public Static extern BOOLFreeconsole (); }}
3. FrmMain.cs
usingSystem;usingSystem.Windows.Forms;namespacewinformuseconsoletotestprogramdemo{/// <summary> ///Use console console to display debug information in WinForm for easy debugging of WinForm form Programs///LDH @ 2018-2-26/// </summary> Public Partial classFrmmain:form { PublicFrmmain () {InitializeComponent (); } #regionNo border form Drag API/// <summary> ///override the WndProc method to implement form movement and suppress double-click Maximization/// </summary> /// <param name= "M" >Windows Messages</param> protected Override voidWndProc (refMessage m) { Switch(m.msg) { Case 0x4e: Case 0xd: Case 0xe: Case 0x14: Base. WndProc (refm); Break; Case 0x84://You can drag a form after the mouse point anywhereDefwndproc (refm); if(M.result.toint32 () = =0x01) {M.result=NewINTPTR (0x02); } Break; Case 0xa3://Disable double-click Maximize Break; default: Base. WndProc (refm); Break; } } #endregion /// <summary> ///Form Load Events/// </summary> /// <param name= "Sender" ></param> /// <param name= "E" ></param> Private voidFrmmain_load (Objectsender, EventArgs e) {FormBorderStyle=Formborderstyle.none; Win32debuggerhelper.allocconsole (); Console.title=@"WinForm using console console to display debug information for easy debugging of WinForm form programs by LDH"; } /// <summary> ///Calculation/// </summary> /// <param name= "Sender" ></param> /// <param name= "E" ></param> Private voidBtncalculate_click (Objectsender, EventArgs e) {console.clear (); Console.WriteLine (@"I have run to method private void Btncalculate_click (object sender, EventArgs e)"); varTEXTBOXNUM1 =TextBoxNumber1.Text.Trim (); varTextBoxNum2 =TextBoxNumber2.Text.Trim (); //if (string. IsNullOrEmpty (TEXTBOXNUM1))//{ //Textboxnumber1.focus (); //return; //} //if (string. IsNullOrEmpty (textBoxNum2))//{ //Textboxnumber2.focus (); //return; //} Try { varNUM1 =convert.todouble (TEXTBOXNUM1); varnum2 =convert.todouble (TEXTBOXNUM2); Txtresult.text= (num1/num2). ToString ("F"); } Catch(Exception ex) {Console.WriteLine (@"###########################################################################################"); Console.WriteLine (@"Exception Occurrence location: {1}{0}", Environment.NewLine, ex. StackTrace); Console.WriteLine (@"Exception method: {1}{0}", Environment.NewLine, ex. TargetSite); Console.WriteLine (@"###########################################################################################"); } } }}
4. program Run video
To debug a WinForm form program using the console