using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Custom_MessageBox_WinForms
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
button1.BackColor = Color.GreenYellow;
button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
button1.FlatAppearance.BorderColor = Color.Black;
button1.FlatAppearance.BorderSize = 2;
button1.Click += button1_Click;
}
private void button1_Click(object sender, EventArgs e)
{
MyAlert frm = new MyAlert();
if(radioButton1.Checked)
frm.showAlert(textBox1.Text, MyAlert.enmType.Success);
if (radioButton2.Checked)
frm.showAlert(textBox1.Text, MyAlert.enmType.Warning);
if (radioButton3.Checked)
frm.showAlert(textBox1.Text, MyAlert.enmType.Info);
if (radioButton4.Checked)
frm.showAlert(textBox1.Text, MyAlert.enmType.Error);
}
}
}
//================MyAlert Form===================
using Custom_MessageBox_WinForms.Properties;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Custom_MessageBox_WinForms
{
public partial class MyAlert : Form
{
Timer timer1;
public MyAlert()
{
InitializeComponent();
this.FormBorderStyle = FormBorderStyle.None;
timer1 = new Timer();
timer1.Tick += timer1_Tick; ;
}
private void timer1_Tick(object sender, EventArgs e)
{
switch (this.action)
{
case enmAction.wait:
timer1.Interval = 5000;
action = enmAction.close;
break;
case MyAlert.enmAction.start:
this.timer1.Interval = 1;
this.Opacity += 0.1;
if (this.x < this.Location.X)
{
this.Left--;
}
else
{
if (this.Opacity == 1.0)
{
action = MyAlert.enmAction.wait;
}
}
break;
case enmAction.close:
timer1.Interval = 1;
this.Opacity -= 0.1;
this.Left -= 3;
if (base.Opacity == 0.0)
{
base.Close();
}
break;
}
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
public enum enmAction
{
wait,
start,
close
}
public enum enmType
{
Success,
Warning,
Error,
Info
}
private MyAlert.enmAction action;
private int x, y;
public void showAlert(string msg, enmType type)
{
this.Opacity = 0.0;
this.StartPosition = FormStartPosition.Manual;
string fname;
for (int i = 1; i < 10; i++)
{
fname = "alert" + i.ToString();
MyAlert frm = (MyAlert)Application.OpenForms[fname];
if (frm == null)
{
this.Name = fname;
this.x = Screen.PrimaryScreen.WorkingArea.Width - this.Width + 15;
this.y = Screen.PrimaryScreen.WorkingArea.Height - this.Height * i - 5 * i;
this.Location = new Point(this.x, this.y);
break;
}
}
this.x = Screen.PrimaryScreen.WorkingArea.Width - base.Width - 5;
switch (type)
{
case enmType.Success:
this.pictureBox1.Image = Resources.tick;
this.BackColor = Color.SeaGreen;
break;
case enmType.Error:
this.pictureBox1.Image = Resources.error;
this.BackColor = Color.DarkRed;
break;
case enmType.Info:
this.pictureBox1.Image = Resources.info;
this.BackColor = Color.RoyalBlue;
break;
case enmType.Warning:
this.pictureBox1.Image = Resources.Warning;
this.BackColor = Color.DarkOrange;
break;
}
this.lblMsg.Text = msg;
this.Show();
this.action = enmAction.start;
this.timer1.Interval = 1;
this.timer1.Start();
}
}
}
Download the project of Visual Studio 2013 in DropBox Download