⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainform.cs

📁 《C#和.NET第一步》中的财务系统 利用三层结构做的
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Common;
using System.Threading;
namespace HomeMoney
{
	public partial class MainForm : Form
	{
		private DataSet dsAccountBooks;
		private User uerCurrent = new User();
		private Thread thWork;
		public MainForm()
		{
			InitializeComponent();
		}

		private void addUserMenuItem_Click(object sender, EventArgs e)
		{
			UserForm user = new UserForm();
			user.Text = "增加帐户";
			user.MaximizeBox = false;
			user.MinimizeBox = false;
			user.ShowAddUser();
		}

		private void loginMenuItem_Click(object sender, EventArgs e)
		{
			UserForm user = new UserForm();
			user.FormClosed += new FormClosedEventHandler(user_FormClosed);
			user.Text = "打开帐户";
			user.MaximizeBox = false;
			user.MinimizeBox = false;
			user.ShowLogin();
		}
		private void RefreshLeftTools(string uID)
		{
			dsAccountBooks = new Business.AccountBookManager().GetAccountBooks(uID);
			this.leftTools.Items.Clear();
			foreach (DataRow r in dsAccountBooks.Tables[0].Rows)
			{
				if (uID == r["AUID"].ToString().Trim())
				{
					ToolStripButton btn = new System.Windows.Forms.ToolStripButton();
					btn.ForeColor = System.Drawing.Color.Blue;
					btn.Image = btnNewUser.Image;
					btn.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
					btn.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
					btn.Click += new EventHandler(btn_Click);
					//
					btn.Text = r["AName"].ToString().Trim();
					btn.Tag = r;
					leftTools.Items.Add(btn);
				}
			}
		}
		private void user_FormClosed(object sender, FormClosedEventArgs e)
		{
			UserForm user = (UserForm)sender;
			if (user.IsLogin)
			{
				this.RefreshLeftTools(user.UserData.UID);
				this.statusUser.Text = "〉" + user.UserData.UName;
				this.statusAccount.Text = "〉" + user.UserData.UAccountName;
				this.uerCurrent.UID = user.UserData.UID;
				this.uerCurrent.UName = user.UserData.UName;
			}
		}

		void btn_Click(object sender, EventArgs e)
		{
			ToolStripButton btn = sender as ToolStripButton;
			DataRow row = btn.Tag as DataRow;
			if (row["AType"].ToString().Trim() == BillType.Daily)
			{
				GridForm f = new GridForm();
				f.MdiParent = this;
				f.WindowState = FormWindowState.Maximized;
				f.GridFormType = BillType.Daily;
				f.MaximizeBox = false;
				f.MinimizeBox = false;
				f.Text = row["AName"].ToString();
				f.DsCurrent = new Business.BillDailyManager().GetBillDailys(row["AID"].ToString().Trim());
				f.Tag = row;
				this.panelMain.Hide();
				f.Show();
			}

			if (row["AType"].ToString().Trim() == BillType.Invest)
			{
				GridForm f = new GridForm();
				f.MdiParent = this;
				f.WindowState = FormWindowState.Maximized;
				f.GridFormType = BillType.Invest;
				f.MaximizeBox = false;
				f.MinimizeBox = false;
				f.Text = row["AName"].ToString();
				f.DsCurrent = new Business.BillInvestManager().GetBillInvests(row["AID"].ToString().Trim());
				f.Tag = row;
				this.panelMain.Hide();
				f.Show();
			}

		}

		private void MenuExist_Click(object sender, EventArgs e)
		{
			Application.Exit();
		}

		private void btnNewUser_Click(object sender, EventArgs e)
		{
			this.addUserMenuItem.PerformClick();
		}

		private void toolOpenUser_Click(object sender, EventArgs e)
		{
			this.loginMenuItem.PerformClick();
		}

		private void toolStripCount_Click(object sender, EventArgs e)
		{
			try
			{
				System.Diagnostics.Process.Start("calc.exe");
			}
			catch (Exception ep)
			{
				Logger.Log(ep.Message);
			}
		}

		private void toolStripHome_Click(object sender, EventArgs e)
		{
			string path = Application.StartupPath + @"\info\info.htm";
			System.Diagnostics.Process.Start("IExplore.exe", path);
		}

		private void menuItemAccNew_Click(object sender, EventArgs e)
		{
			AccountBookForm accountBookForm = new AccountBookForm();
			accountBookForm.FormClosed += new FormClosedEventHandler(accountBookForm_FormClosed);
			accountBookForm.MaximizeBox = false;
			accountBookForm.MinimizeBox = false;
			accountBookForm.Show();
		}

		void accountBookForm_FormClosed(object sender, FormClosedEventArgs e)
		{
			AccountBookForm f = sender as AccountBookForm;
			AccountBook account = f.AccountCurrent;
			account.AUID = Convert.ToInt32(this.uerCurrent.UID);
			new Business.AccountBookManager().Insert(account);

			this.RefreshLeftTools(this.uerCurrent.UID);
		}

		private void muFindAccount_Click(object sender, EventArgs e)
		{
			GridForm f = this.ActiveMdiChild as GridForm;
			f.GridFindItems();
		}

		private void muCount_Click(object sender, EventArgs e)
		{
			this.toolStripCount.PerformClick();
		}

		private void muBillCenter_Click(object sender, EventArgs e)
		{
			GridForm f = new GridForm();
			f.MdiParent = this;
			f.WindowState = FormWindowState.Maximized;
			f.MaximizeBox = false;
			f.MinimizeBox = false;
			f.DsCurrent = new Business.AccountBookManager().GetDailyAccountBooks(this.uerCurrent.UID);
			f.Text = "总支出";
			this.panelMain.Hide();
			f.Show();
		}

		private void muInvestCenter_Click(object sender, EventArgs e)
		{
			GridForm f = new GridForm();
			f.MdiParent = this;
			f.WindowState = FormWindowState.Maximized;
			f.MaximizeBox = false;
			f.MinimizeBox = false;
			f.DsCurrent = new Business.AccountBookManager().GetInvestAccountBooks(this.uerCurrent.UID);
			f.Text = "总投资";
			this.panelMain.Hide();
			f.Show();
		}

		private void muExportData_Click(object sender, EventArgs e)
		{
			GridForm f = this.ActiveMdiChild as GridForm;
			f.ExportData();
		}

		private void muInportData_Click(object sender, EventArgs e)
		{
			GridForm f = this.ActiveMdiChild as GridForm;
			f.InportData();
		}

		private void muAlert_Click(object sender, EventArgs e)
		{
			SystemForm f = new SystemForm();
			f.ShowDialog();
		}

		private void MainForm_Load(object sender, EventArgs e)
		{
			thWork = new Thread(new ThreadStart(DoWork));
			thWork.Start();
		}
		private void DoWork()
		{
			while (true)
			{
				DataSet ds = new Business.SystemManager().GetSysItems();
				foreach (DataRow dr in ds.Tables[0].Rows)
				{
					if (!Convert.ToBoolean(dr["SFlag"]))
					{
						if (Convert.ToDateTime(dr["STimer"]) < DateTime.Now)
						{
							MessageBox.Show(dr["STimer"].ToString() + dr["SMessage"].ToString());
							dr["SFlag"] = true;
						}
					}

				}
				//new Business.SystemManager().Update(ds);
				Thread.Sleep(500000);
			}

		}
		private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
		{
			this.thWork.Abort();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -