109 lines
3.5 KiB
C#
109 lines
3.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
namespace UniversalEditor.UserInterface.WindowsForms
|
|
{
|
|
public partial class SplashScreenWindow : Form
|
|
{
|
|
public SplashScreenWindow()
|
|
{
|
|
InitializeComponent();
|
|
|
|
// base.Font = SystemFonts.MenuFont;
|
|
// label1.Font = new Font(base.Font.FontFamily, 18, FontStyle.Bold);
|
|
// label1.Text = Configuration.ApplicationName;
|
|
|
|
// label2.Font = base.Font;
|
|
|
|
/*
|
|
string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
|
|
Icon icn = IconMethods.ExtractAssociatedIcon(path, 0);
|
|
if (icn != null)
|
|
{
|
|
pictureBox1.Image = icn.ToBitmap();
|
|
}
|
|
*/
|
|
|
|
if (Configuration.SplashScreen.Image != null)
|
|
{
|
|
pictureBox1.Image = Configuration.SplashScreen.Image;
|
|
}
|
|
else
|
|
{
|
|
if (!String.IsNullOrEmpty(Configuration.SplashScreen.ImageFileName))
|
|
{
|
|
if (System.IO.File.Exists(Configuration.SplashScreen.ImageFileName))
|
|
{
|
|
pictureBox1.Image = Image.FromFile(Configuration.SplashScreen.ImageFileName);
|
|
}
|
|
}
|
|
}
|
|
Size = pictureBox1.Image.Size;
|
|
}
|
|
|
|
protected override void OnShown(EventArgs e)
|
|
{
|
|
base.OnShown(e);
|
|
|
|
if (Configuration.SplashScreen.Sound != null)
|
|
{
|
|
System.Media.SoundPlayer sp = new System.Media.SoundPlayer(Configuration.SplashScreen.Sound);
|
|
sp.Play();
|
|
}
|
|
else
|
|
{
|
|
if (System.IO.File.Exists(Configuration.SplashScreen.SoundFileName))
|
|
{
|
|
System.Media.SoundPlayer sp = new System.Media.SoundPlayer(Configuration.SplashScreen.SoundFileName);
|
|
sp.Play();
|
|
}
|
|
}
|
|
}
|
|
|
|
protected override void OnPaint(PaintEventArgs e)
|
|
{
|
|
base.OnPaint(e);
|
|
e.Graphics.DrawRectangle(Pens.Black, new Rectangle(0, 0, base.Width - 1, base.Height - 1));
|
|
}
|
|
|
|
internal void InvokeClose()
|
|
{
|
|
Invoke(new Action(_InvokeClose));
|
|
}
|
|
private void _InvokeClose()
|
|
{
|
|
Close();
|
|
}
|
|
|
|
internal void InvokeUpdateStatus(string p)
|
|
{
|
|
Invoke(new Action<string>(_InvokeUpdateStatus), p);
|
|
}
|
|
private void _InvokeUpdateStatus(string p)
|
|
{
|
|
// lblStatus.Text = p;
|
|
}
|
|
}
|
|
public class SplashScreenSettings
|
|
{
|
|
private bool mvarEnabled = true;
|
|
public bool Enabled { get { return mvarEnabled; } set { mvarEnabled = value; } }
|
|
|
|
private string mvarImageFileName = String.Empty;
|
|
public string ImageFileName { get { return mvarImageFileName; } set { mvarImageFileName = value; } }
|
|
|
|
private string mvarSoundFileName = String.Empty;
|
|
public string SoundFileName { get { return mvarSoundFileName; } set { mvarSoundFileName = value; } }
|
|
|
|
private Image mvarImage = null;
|
|
public Image Image { get { return mvarImage; } set { mvarImage = value; } }
|
|
|
|
private System.IO.MemoryStream mvarSound = null;
|
|
public System.IO.MemoryStream Sound { get { return mvarSound; } set { mvarSound = value; } }
|
|
}
|
|
}
|