Show message Box in .net console application
Solution 1
We can show a message box in a console application. But first include this reference in your vb.net or c# console application
System.Windows.Forms;
Reference:
To add reference in vb.net program right click (in solution explorer) on your project name-> then add reference-> then .Net-> then select System.Windows.Forms.
To add reference in c# program right click in your project folders shown in solution explorer on add references-> .Net -> select System.Windows.Forms.
then you can do the below code for c# console application:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
MessageBox.Show("Hello World");
}
}
}
For the vb.net application you can simply code after inclusion of above mentioned reference
Module Module1
Sub Main()
MsgBox("Hello")
Console.ReadKey()
End Sub
End Module
Adapted from this answer to a related question.
Solution 2
To have a simple message box inside your console application you can follow the below steps.
-
Create a property with attribute of
using System.Runtime.InteropServices; [DllImport("User32.dll", CharSet = CharSet.Unicode)] public static extern int MessageBox(IntPtr h, string m, string c, int type);
-
User the property to call the message box.
MessageBox((IntPtr)0, "asdasds", "My Message Box", 0); using System; using System.Runtime.InteropServices; namespace AllKeys { public class Program { [DllImport("User32.dll", CharSet = CharSet.Unicode)] public static extern int MessageBox(IntPtr h, string m, string c, int type); public static void Main(string[] args) { MessageBox((IntPtr)0, "Your Message", "My Message Box", 0); } } }
Solution 3
In C# add the reference "PresentationFramework" in the project. Next in the class that you need the MessageBox
add
using System.Windows;
also you can call the MessageBox
class without the using like that:
System.Windows.MessageBox.Show("Stackoverflow");
Solution 4
For .NET 5 and .NET 6 =>
Create the console app the regular way.
Update the TargetFramework in .csproj with one of these:
<TargetFramework>net5.0-windows</TargetFramework>
<!--OR-->
<TargetFramework>net6.0-windows</TargetFramework>
Add this to .csproj:
<UseWPF>true</UseWPF>
<!-- AND/OR -->
<UseWindowsForms>true</UseWindowsForms>
Compile the app, so the referenced .NET dlls get updated.
For the WPF message box add using System.Windows; and for the Windows Forms message box add using System.Windows.Forms; on the top of your code file. Then, just make calls to MessageBox.Show("...")
Comments
-
Syed Osama Maruf over 2 years
How to show a message box in a .net c# or vb console application ? Something like:
Console.WriteLine("Hello World"); MessageBox.Show("Hello World");
or
Console.WriteLine("Hello") MsgBox("Hello")
in c# and vb respectively.
Is it possible? -
Hkachhia over 6 yearsMove Add reference explanation top because code is depended on reference
-
Siavash Mortazavi over 2 years
-
Siavash Mortazavi over 2 yearsAlos, if you want to hide the console window, here is the solution: stackoverflow.com/questions/3853629/…