Windows フォーム アプリケーションでコンソール ウィンドウを表示する
Windows フォーム アプリケーションは通常、出力をメッセージ ボックスに送ります。ただし、コンソール出力を表示することもできます。この記事では、Windows フォーム アプリケーションでコンソールを表示する方法について説明します。
簡単なテスト例でこの課題を示します:
<code class="language-c#">using System; using System.Windows.Forms; class test { static void Main() { Console.WriteLine("test"); MessageBox.Show("test"); } }</code>
デフォルトのオプションを使用してこのコードをコンパイルすると、コンソール出力とメッセージ ボックスを表示するコンソール アプリケーションが作成されます。ただし、/target:winexe オプションを使用すると (またはプロジェクト オプションで Windows アプリケーションを選択すると)、コンソール出力が抑制され、メッセージ ボックスのみが残ります。
Windows フォーム アプリケーションでコンソール出力を表示するには、kernel32.dll ライブラリの AllocConsole() 関数を使用することが解決策です。
<code class="language-c#">using System.Runtime.InteropServices; private void Form1_Load(object sender, EventArgs e) { AllocConsole(); } [DllImport("kernel32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] static extern bool AllocConsole();</code>
フォームの Load イベント中に AllocConsole() を呼び出すと、コンソール ウィンドウが作成され、表示されます。これにより、アプリケーションは Windows フォームの機能を維持しながらコンソール出力を表示できるようになります。
以上がWindows フォーム アプリケーション内でコンソール ウィンドウを表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。