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

📄 memberform.cs

📁 微软系列丛书<<C#2005从入门到精通>>
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace BellRingers
{
	public partial class MemberForm : Form
	{
		public MemberForm()
		{
			InitializeComponent();
			this.Reset();

			ToolStripMenuItem[] formMenuItemList = new ToolStripMenuItem[2];
			formMenuItemList[0] = new ToolStripMenuItem("Save Member", null, new System.EventHandler(saveMemberClick));
			formMenuItemList[1] = new ToolStripMenuItem("Clear", null, new System.EventHandler(clearClick));
			ContextMenuStrip formMenu = new ContextMenuStrip();
			formMenu.Items.AddRange(formMenuItemList);
			this.ContextMenuStrip = formMenu;
			this.ContextMenuStrip.Enabled = false;
		}

		public void Reset()
		{
			firstName.Text = "";
			lastName.Text = "";
			towerNames.Items.Clear();
			towerNames.Items.Add("Great Shevington");
			towerNames.Items.Add("Little Mudford");
			towerNames.Items.Add("Upper Gumtree");
			towerNames.Items.Add("Downley Hatch");
			memberSince.Value = DateTime.Today;
			isCaptain.Checked = false;
			novice.Checked = true;
			methods.Items.Clear();
			methods.Items.Add("Canterbury Minimus");
			methods.Items.Add("Reverse St Nicholas");
			methods.Items.Add("Plain Bob Doubles");
			methods.Items.Add("Grandsire Doubles");
			methods.Items.Add("Cambridge Minor");
			methods.Items.Add("Old Oxford Delight Minor");
			methods.Items.Add("Kent Treble Bob Major");
		}

		private void clearClick(object sender, EventArgs e)
		{
			this.Reset();
		}

		private void addClick(object sender, EventArgs e)
		{
			string details;
			details = "Member name " + firstName.Text + " " + lastName.Text + " from the tower at " + towerNames.Text;
			MessageBox.Show(details, "Member Information");
		}

		private void memberFormClosing(object sender, FormClosingEventArgs e)
		{
			DialogResult key = MessageBox.Show("Are you sure you want to quit", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
			e.Cancel = (key == DialogResult.No);
		}

		private void newClick(object sender, EventArgs e)
		{
			this.Reset();
			printToolStripMenuItem.Enabled = true;
			saveMemberToolStripMenuItem.Enabled = true;
			firstName.Enabled = true;
			lastName.Enabled = true;
			towerNames.Enabled = true;
			isCaptain.Enabled = true;
			memberSince.Enabled = true;
			yearsExperience.Enabled = true;
			methods.Enabled = true;
			add.Enabled = true;
			clear.Enabled = true;
			this.ContextMenuStrip.Enabled = true;
		}

		private void exitClick(object sender, EventArgs e)
		{
			this.Close();
		}

		private void textBoxClearClick(object sender, EventArgs e)
		{
			if (this.Tag.Equals(firstName))
			{
				firstName.Clear();
				firstName.Focus();
			}
			else
			{
				lastName.Clear();
				lastName.Focus();
			}
		}

		private void textBoxContextMenuPopup(object sender, CancelEventArgs e)
		{
			this.Tag = ((ContextMenuStrip)sender).SourceControl;
		}

		private void saveMemberClick(object sender, EventArgs e)
		{
			DialogResult buttonClicked = saveFileDialog.ShowDialog();
			if (buttonClicked.Equals(DialogResult.OK))
			{
				StreamWriter writer = new StreamWriter(saveFileDialog.FileName);
				writer.WriteLine("First Name: " + firstName.Text);
				writer.WriteLine("Last Name: " + lastName.Text);
				writer.WriteLine("Tower: " + towerNames.Text);
				writer.WriteLine("Captain: " + isCaptain.Checked);
				writer.WriteLine("Member Since: " + memberSince.Text);
				writer.WriteLine("Methods: ");
				foreach (object methodChecked in methods.CheckedItems)
				{
					writer.WriteLine(methodChecked.ToString());
				}
				writer.Close();

				MessageBox.Show("Member details saved", "Saved");
			}
		}

		private void printClick(object sender, EventArgs e)
		{
			DialogResult buttonClicked = printDialog.ShowDialog();
			if (buttonClicked.Equals(DialogResult.OK))
			{
				printDocument.Print();
			}
		}

		private void printPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
		{

			StringBuilder data = new StringBuilder();

			StringWriter writer = new StringWriter(data);
			writer.WriteLine("First Name: " + firstName.Text);
			writer.WriteLine("Last Name: " + lastName.Text);
			writer.WriteLine("Tower: " + towerNames.Text);
			writer.WriteLine("Captain: " + isCaptain.Checked);
			writer.WriteLine("Member Since: " + memberSince.Text);
			writer.WriteLine("Methods: ");
			foreach (object methodChecked in methods.CheckedItems)
			{
				writer.WriteLine(methodChecked.ToString());
			}
			writer.Close();

			float leftMargin = e.MarginBounds.Left;
			float topMargin = e.MarginBounds.Top;
			float yPos = 0;
			Font printFont = null;
			
			printFont = new Font("Arial", 12);
			yPos = topMargin + printFont.GetHeight(e.Graphics);
			e.HasMorePages = false;
			e.Graphics.DrawString(data.ToString(), printFont, Brushes.Black, leftMargin, yPos, new StringFormat());
		}
	}
}

⌨️ 快捷键说明

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