using System;
|
using System.Configuration;
|
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;
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="it">1成功,-1失败</param>
|
/// <param name="messageText"></param>
|
/// <param name="vanishingSeconds">动画延长时间</param>
|
public Toast(int it, string messageText, int vanishingSeconds = 5)
|
{
|
InitializeComponent();
|
messageText=messageText.Replace("@n", "\r\n");
|
this.lbMsg.BackColor = System.Drawing.Color.Firebrick;
|
this.lbMsg.Font = new System.Drawing.Font("Tahoma", 38F);
|
this.lbMsg.ForeColor = System.Drawing.Color.White;
|
try
|
{
|
string _vanishingSeconds = ConfigurationManager.AppSettings["ToastSeconds"];
|
if (!string.IsNullOrEmpty(_vanishingSeconds))
|
vanishingSeconds = int.Parse(_vanishingSeconds);
|
}
|
catch (Exception)
|
{
|
|
}
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Toast));
|
if (it > 0)
|
{
|
this.lbMsg.BackColor = System.Drawing.Color.SeaGreen;
|
}
|
else
|
{
|
this.lbMsg.BackColor = System.Drawing.Color.Firebrick;
|
}
|
double elapsedTime = 0;
|
lbMsg.Text = messageText;
|
double vanishingMilliSeconds = vanishingSeconds * 1000;
|
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();
|
}
|
|
}
|
}
|