Reputation: 1935
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?
Upvotes: 45
Views: 111324
Reputation: 436
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.
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);
}
}
}
Upvotes: 38
Reputation: 1842
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("...")
Upvotes: 5
Reputation: 1892
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");
Upvotes: 4
Reputation: 1935
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.
Upvotes: 52