using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using log4net;
using Utility;
namespace WindowsFormsApplication
{
///<summary>
///<Author>JILONGLIANG</Author>
///<Date>2012/09/14</Date>
///<Description>处理皮肤Form窗体</Description>
///</summary>
public partial class MainFrm : Form
{
string app_Path=AccessDirFileHelper.GetInstance().GetWindowsApplicationStartupPath();
private int ComputerTime;//记录本机运行时间
public MainFrm()
{
InitializeComponent();
}
/// <summary>
/// 把设置IsMdiContainer = true;
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TSMI_Login_Click(object sender, EventArgs e)
{
// LoginFrm loginFrm = new LoginFrm();
// loginFrm.MdiParent = this;
// loginFrm.Show();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TSMI_TestDataBase_Click(object sender, EventArgs e)
{
//ConnectionSetupForm connectionSetupForm = new ConnectionSetupForm();
//connectionSetupForm.MdiParent = this;
//connectionSetupForm.Show();
}
/// <summary>
/// 退出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TSMI_Logout_Click(object sender, EventArgs e)
{
Application.Exit();
}
/// <summary>
/// 重启
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TSMI_Restart_Click(object sender, EventArgs e)
{
Application.Restart();
}
/// <summary>
/// 加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MainFrm_Load(object sender, EventArgs e)
{
AddChildMenuStripForWindowsStyle();
//ILog log = log4net.LogManager.GetLogger(this.GetType());
//log.Debug(e.ToString());
ComputerTime = Environment.TickCount;//获取本机运行时间
}
/// <summary>
/// 为风格菜单项添加子菜单
/// </summary>
private void AddChildMenuStripForWindowsStyle()
{
string curExePath = app_Path;
string dir = curExePath + "\\Images";
DirectoryInfo di = new DirectoryInfo(dir);
int count = 1;
//先清空下拉框
this.TSMI_WindowSytle.DropDownItems.Clear();
foreach (FileInfo fi in di.GetFiles())
{
if (fi.FullName.LastIndexOf(".gif") == fi.FullName.Length - 4)
{
ToolStripMenuItem newTSMI = new ToolStripMenuItem("皮肤" + (count++));
newTSMI.Tag = fi.FullName;//保存图片
//订阅此菜单的鼠标悬浮事件
newTSMI.MouseHover += new EventHandler(TSMI_WindowSytle_MouseHover);
//订阅此菜单的鼠标离开事件
newTSMI.MouseLeave += new EventHandler(TSMI_WindowSytle_MouseLeave);
//订阅此菜单的鼠标点击事件
newTSMI.Click += new EventHandler(TSMI_WindowSytle_Click);
this.TSMI_WindowSytle.DropDownItems.Add(newTSMI);
}
}
}
/// <summary>
/// 菜单的鼠标悬浮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TSMI_WindowSytle_MouseHover(object sender, EventArgs e)
{
try
{
string picturePath = ((ToolStripMenuItem)sender).Tag.ToString();
this.pictureBoxImages.BackgroundImage = Image.FromFile(picturePath);
this.pictureBoxImages.BackgroundImageLayout = ImageLayout.Stretch;
this.pictureBoxImages.Visible = true;
Point point;
if (MousePosition.Y >= 300)
{
point = new Point(MousePosition.X + 62, 200);//调整位置
}
else
{
point = new Point(MousePosition.X + 62, MousePosition.Y - 10);
}
this.pictureBoxImages.Location = point;
}
catch (Exception)
{
throw;
}
}
/// <summary>
/// 鼠标离开事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TSMI_WindowSytle_MouseLeave(object sender, EventArgs e)
{
this.pictureBoxImages.Visible = false;
}
/// <summary>
/// 鼠标点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TSMI_WindowSytle_Click(object sender, EventArgs e)
{
try
{
string picturePath = ((ToolStripMenuItem)sender).Tag.ToString();
string skinFillPath = picturePath.Substring(0, picturePath.Length - 3) + "ssk";
this.skinEngine1.SkinFile = skinFillPath;
this.Refresh();
}
catch (Exception)
{
throw;
}
}
/// <summary>
/// 当前系统应用时间
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ShowApplicationTime_Tick(object sender, EventArgs e)
{
long CurTickValue = Environment.TickCount;
long Difference = CurTickValue - ComputerTime;
long ComputerHours, ComputerMinutes, ComputerSeconds;
long ApplicationHours, ApplicationMinuters, ApplicationSecons;
ComputerHours = (CurTickValue / (3600 * 999)) % 24;
ComputerMinutes = (CurTickValue / (60 * 999)) % 60;
ComputerSeconds = (CurTickValue / 999) % 60;
ApplicationHours = (Difference / (3600 * 999)) % 24;//小时
ApplicationMinuters = (Difference / (60 * 999)) % 60;//分钟
ApplicationSecons = (Difference / 999) % 60;//秒
this.ComputerSystemTime.Text = string.Format("本计算机已运行了{0}小时{1}分{2}秒",
ComputerHours.ToString(), ComputerMinutes.ToString(), ComputerSeconds.ToString());
this.ApplicationFrmSystemTime.Text = string.Format("本应用程序已运行了{0}小时{1}分{2}秒",
ApplicationHours.ToString(), ApplicationMinuters.ToString(), ApplicationSecons.ToString());
}
/// <summary>
/// 加载窗体的时候触发时间.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void CurrentNowTime_Tick(object sender, EventArgs e)
{
//this.CurrentNowTime.Enabled = true;//启用Elapsed事件生成
//this.CurrentNowTime.Interval = 1000;//可以在窗体设置
tssl_currNowTime.Text = Convert.ToString(DateTime.Now);
}
}
}
效果图