Console with a WinForm

Often, you need a console window together with a WinForm application. It can be very handy for debugging purposes while developping, but also for a (temporary) logging of some data. It is very simple to do. The following program demonstrates it, using P/Invoke.

Start a new Windows application, drop a CheckBox on the form, name it ViewConsole, and copy the following code into it.

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;    // needed to call external
                                         // application (winAPI dll)

namespace WindowsApplication1
{
   partial class Form1: Form
   {
      public Form1()
      {
         InitializeComponent();
      }

      private void ViewConsole_CheckedChanged(object sender,
                                              EventArgs e)
      {
         if (ViewConsole.Checked)
            Win32.AllocConsole();
         else
            Win32.FreeConsole();
      }
   }

   public class Win32
   {
      [DllImport("kernel32.dll")]
      public static extern Boolean AllocConsole();
      [DllImport("kernel32.dll")]
      public static extern Boolean FreeConsole();
   }
}


Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: October 29, 2014 @ 11:00 a.m. ET / 8:00 a.m. PT Are you interested in building a cognitive application using the power of IBM Watson? Need a platform that provides speed and ease for rapidly deploying this application? Join Chris Madison, Watson Solution Architect, as he walks through the process of building a Watson powered application on IBM Bluemix. Chris will talk about the new Watson Services just released on IBM bluemix, but more importantly he will do a step by step cognitive …

  • Live Event Date: November 13, 2014 @ 2:00 p.m. ET / 11:00 a.m. PT APIs can be a great source of competitive advantage. The practice of exposing backend services as APIs has become pervasive, however their use varies widely across companies and industries. Some companies leverage APIs to create internal, operational and development efficiencies, while others use them to drive ancillary revenue channels. Many companies successfully support both public and private programs from the same API by varying levels …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds