using System;
using System.Drawing;
using System.Windows.Forms;
namespace Gs.DevApp
{
public partial class Toast : DevExpress.XtraEditors.XtraForm
{
private System.Windows.Forms.Timer tmr;
private System.Windows.Forms.Timer tmr2;
///
///
///
/// 1成功,-1失败
///
///
public Toast(int it, string messageText, int vanishingSeconds = 2)
{
InitializeComponent();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Toast));
if (it > 0)
this.panel1.BackgroundImage = global::Gs.DevApp.Properties.Resources.ok123;
else
this.panel1.BackgroundImage = global::Gs.DevApp.Properties.Resources.error123;
double elapsedTime = 0;
testo.Text = messageText;
double vanishingMilliSeconds = vanishingSeconds * 1000;
// message dimensions
//this.Width = testo.Width + 50;
//this.Height = testo.Height + 50;
//text position
// testo.Location = new Point((this.Width / 2) - (testo.Width / 2), (this.Height / 2) - (testo.Height / 2));
//first timer
tmr = new System.Windows.Forms.Timer();
tmr.Tick += delegate
{
tmr.Stop();
tmr2.Stop();
tmr.Dispose();
tmr2.Dispose();
this.Close();
};
tmr.Interval = (int)TimeSpan.FromSeconds(vanishingSeconds).TotalMilliseconds;
tmr.Start();
//second timer
tmr2 = new System.Windows.Forms.Timer();
tmr2.Tick += delegate
{
elapsedTime += 50;
if (elapsedTime >= (vanishingMilliSeconds * 65) / 100)
this.Opacity -= 0.05f;
};
tmr2.Interval = (int)TimeSpan.FromMilliseconds(50).TotalMilliseconds;
tmr2.Start();
}
private void VanishingMessage_Paint(object sender, PaintEventArgs e)
{
Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.DarkRed);
SolidBrush sb = new SolidBrush(Color.DarkRed);
Rectangle r = this.DisplayRectangle;
r.Width -= 1;
r.Height -= 1;
g.DrawRectangle(p, r);
}
}
}