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

📄 mainform.cs

📁 这是一个小型的相片管理器
💻 CS
📖 第 1 页 / 共 3 页
字号:


using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using VirtualPhotoOrganizer.Dialogs;
using VirtualPhotoOrganizer.Photo;
using VirtualPhotoOrganizer.Util;
using TXML;

namespace VirtualPhotoOrganizer
{
	/// <summary>
	/// Zusammenfassung f黵 MainForm.
	/// </summary>
	public class MainForm : System.Windows.Forms.Form
	{
		// lanugage strings
		private string LsTotal;
		private string LsPhotos;
		private string LsSel;
		private string LsAlbums;

		// indicates if the thumb size was changed
		private bool ThumbSizeChanged = false;

		// start parameters
		private string[] Args;
		private System.Windows.Forms.StatusBar stBar;
		private System.Windows.Forms.ToolBar tBar;
		private System.Windows.Forms.ImageList ilToolBar;
		private System.Windows.Forms.MainMenu mm;
		private System.Windows.Forms.StatusBarPanel stpProg;
		private System.Windows.Forms.StatusBarPanel stpCurrP;
		private System.Windows.Forms.StatusBarPanel stpPhotos;
		private System.Windows.Forms.ProgressBar pbLoading;
		private System.Windows.Forms.MenuItem miFile;
		private System.Windows.Forms.MenuItem miNAlbum;
		private System.Windows.Forms.MenuItem miOpenAlbum;
		private System.Windows.Forms.MenuItem menuItem2;
		private System.Windows.Forms.MenuItem miImport;
		private System.Windows.Forms.MenuItem miFromFile;
		private System.Windows.Forms.MenuItem miFolder;
		private System.Windows.Forms.MenuItem menuItem6;
		private System.Windows.Forms.MenuItem miRenAlbum;
		private System.Windows.Forms.MenuItem miDelAlbum;
		private System.Windows.Forms.MenuItem menuItem9;
		private System.Windows.Forms.MenuItem miExit;
		private System.Windows.Forms.MenuItem miEdit;
		private System.Windows.Forms.MenuItem miOpenPhoto;
		private System.Windows.Forms.MenuItem miSlideSh;
		private System.Windows.Forms.MenuItem menuItem5;
		private System.Windows.Forms.MenuItem miRotLeft;
		private System.Windows.Forms.MenuItem miRotRight;
		private System.Windows.Forms.MenuItem menuItem10;
		private System.Windows.Forms.MenuItem miRenPhoto;
		private System.Windows.Forms.MenuItem miDelPhoto;
		private System.Windows.Forms.MenuItem miTools;
		private System.Windows.Forms.MenuItem miSettings;
		private System.Windows.Forms.MenuItem miHTMLExp;
		private System.Windows.Forms.ToolBarButton tbNewAlbum;
		private System.Windows.Forms.ToolBarButton tbImportPhotos;
		private System.Windows.Forms.ToolBarButton toolBarButton8;
		private System.Windows.Forms.ToolBarButton tbOpenP;
		private System.Windows.Forms.ToolBarButton tbSlideSh;
		private System.Windows.Forms.ToolBarButton tbRotLeft;
		private System.Windows.Forms.ToolBarButton tbRotRight;
		private System.Windows.Forms.ToolBarButton tbDel;
		private System.Windows.Forms.ToolBarButton tbHTMLExp;
		private System.Windows.Forms.MenuItem miPrint;
		private System.Windows.Forms.ToolBarButton tbPrint;
		private System.Windows.Forms.MenuItem menuItem1;
		private System.Windows.Forms.MenuItem miCut;
		private System.Windows.Forms.MenuItem miCopy;
		private System.Windows.Forms.MenuItem miPaste;
		private MenuItem miSearch;
		private System.Windows.Forms.Splitter albPhotoSplitter;
		private VirtualPhotoOrganizer.Controls.PhotosPane pPane;
		private VirtualPhotoOrganizer.Controls.AlbumsPane albPane;
		private System.ComponentModel.IContainer components;

		public MainForm(string[] args) {
			//
			// Erforderlich f黵 die Windows Form-Designerunterst黷zung
			//
			InitializeComponent();

			// add our custom event handlers
			this.albPane.OpenAlbum += new VirtualPhotoOrganizer.Controls.AlbumsPane.AlbumOpen(albPane_OpenAlbum);
			this.albPane.AddedPhotos += new VirtualPhotoOrganizer.Controls.AlbumsPane.AddPhotos(albPane_AddedPhotos);
			this.albPane.AlbumNameChanged += new VirtualPhotoOrganizer.Controls.AlbumsPane.AlbumNameChange(albPane_AlbumNameChanged);
			this.albPane.AlbumDeleted += new VirtualPhotoOrganizer.Controls.AlbumsPane.AlbumDelete(albPane_AlbumDeleted);
			this.albPane.PhotosEnter += new VirtualPhotoOrganizer.Controls.AlbumsPane.EnterPhotos(albPane_PhotosEnter);
			this.albPane.PhotosDropped += new VirtualPhotoOrganizer.Controls.AlbumsPane.DropPhotos(albPane_PhotosDropped);
			this.pPane.OnProgressUpdate += new VirtualPhotoOrganizer.Controls.PhotosPane.ProgressUpdate(pPane_OnProgressUpdate);
			this.pPane.SelectedPhotosChanged += new VirtualPhotoOrganizer.Controls.PhotosPane.SelectionChanged(pPane_SelectedPhotosChanged);
			this.pPane.AlbumLoaded += new VirtualPhotoOrganizer.Controls.PhotosPane.AlbumLoad(pPane_AlbumLoaded);
			this.pPane.PhotosDeleted += new VirtualPhotoOrganizer.Controls.PhotosPane.PhotoDelete(pPane_PhotosDeleted);

			VPOClipboard.ProgressUpdate += new VirtualPhotoOrganizer.Photo.VPOClipboard.UpdateProgress(VPOClipboard_ProgressUpdate);
			VPOClipboard.ClipboardChanged += new VirtualPhotoOrganizer.Photo.VPOClipboard.ChangedClipb(VPOClipboard_ClipboardChanged);

//			LoadLanguageStrings();

			this.Text += " V." + Application.ProductVersion.ToString();

			// add the start parameters to the args list, so that they may be processed onFormLoad
			Args = args;
		}

		/// <summary>
		/// Die verwendeten Ressourcen bereinigen.
		/// </summary>
		protected override void Dispose(bool disposing) {
			if (disposing) {
				if (components != null) {
					components.Dispose();
				}
			}
			base.Dispose(disposing);
		}

		#region helper methods

		private void OnResize() {
			//			albPane.Height = this.Height - tBar.Height - stBar.Height;
			//			pPane.Width = this.Width - albPane.Width;
			//			albPane.Invalidate();
			//			pPane.Invalidate();
			try {
				stpProg.MinWidth = 10;
				stpProg.Width = stBar.Width - stpCurrP.Width - stpPhotos.Width;
				pbLoading.Width = (int) (stpProg.Width / 1.5);
				pbLoading.Left = stpProg.Width - pbLoading.Width - 4;
				pbLoading.Top = stBar.Top + 4;
			}
			catch { }
		}

		private void LoadLanguageStrings() {
			const string MN = "Main";

			string lsmFile;
			string lsmNAlbum;
			string lsmOAlbum;
			string lsImpPhotos;
			string lsFromFile;
			string lsFromFolder;
			string lsRen;
			string lsDel;
			string lsExit;
			string lsEdit;
			string lsmOpenPhoto;
			string lsmSlideSh;
			string lsmRLeft;
			string lsmRRight;
			string lsRenPhoto;
			string lsDelPhoto;
			string lsTools;
			string lsSettings;
			string lsmHTMLExp;
			string lsHelp;
			string lsAbout;
			string lstbNAlbum;
			string lstbOAlbum;
			string lstbOPhoto;
			string lstbSlideSh;
			string lstbRLeft;
			string lstbRRight;
			string lstbDel;
			string lstbHTMLExp;
			string lsmPrint;
			string lstbPrint;
			string lsCopy;
			string lsCut;
			string lsPaste;
			string lsSearch;

			try {
				TXmlReader reader = XmlHandler.OpenLangFile();

				LsTotal = reader.GetString(MN, "Total", "Total:");
				LsPhotos = reader.GetString(MN, "Photos", "Photos");
				LsSel = reader.GetString(MN, "Sel", "Selected:");
				LsAlbums = reader.GetString(MN, "Albums", "Virtual Photo Organizer Album files");
				lsmFile = reader.GetString(MN, "mFile", "&File");
				lsmNAlbum = reader.GetString(MN, "mNAlbum", "&New Album...");
				lsmOAlbum = reader.GetString(MN, "mOAlbum", "&Open Album...");
				lsImpPhotos = reader.GetString(MN, "ImpPhotos", "Import Photos");
				lsFromFile = reader.GetString(MN, "FromFile", "From F&ile");
				lsFromFolder = reader.GetString(MN, "FromFolder", "From F&older");
				lsRen = reader.GetString(MN, "RenameAlbum", "&Rename Album");
				lsDel = reader.GetString(MN, "DeleteAlbum", "&Delete Album");
				lsExit = reader.GetString(MN, "Exit", "&Exit");
				lsEdit = reader.GetString(MN, "Edit", "&Edit");
				lsmOpenPhoto = reader.GetString(MN, "mOpenPhoto", "&Open Photo...");
				lsmSlideSh = reader.GetString(MN, "mSlideSh", "&Start Slideshow");
				lsmRLeft = reader.GetString(MN, "mRotLeft", "Rotate &Left");
				lsmRRight = reader.GetString(MN, "mRotRight", "Rotate &Right");
				lsRenPhoto = reader.GetString(MN, "RenPhoto", "Re&name Photo");
				lsDelPhoto = reader.GetString(MN, "DelPhoto", "&Delte Photo");
				lsTools = reader.GetString(MN, "Tools", "&Tools");
				lsSettings = reader.GetString(MN, "Settings", "&Settings...");
				lsmHTMLExp = reader.GetString(MN, "mHTMLExp", "&Export to HTML Album...");
				lsHelp = reader.GetString(MN, "Help", "&Help");
				lsAbout = reader.GetString(MN, "About", "&About");
				lstbNAlbum = reader.GetString(MN, "tbNewAlbum", "New Album");
				lstbOAlbum = reader.GetString(MN, "tbOpenAlbum", "Open Album");
				lstbOPhoto = reader.GetString(MN, "tbOpenPhoto", "Open Photo");
				lstbSlideSh = reader.GetString(MN, "tbSlideShow", "Start Slideshow");
				lstbRLeft = reader.GetString(MN, "tbRotLeft", "Rotate Left");
				lstbRRight = reader.GetString(MN, "tbRotRight", "Rotate Right");
				lstbDel = reader.GetString(MN, "tbDelete", "Delete Photo");
				lstbHTMLExp = reader.GetString(MN, "tbHTMLExport", "Export to HTML Album");
				lsmPrint = reader.GetString(MN, "mPrint", "&Print...");
				lstbPrint = reader.GetString(MN, "tbPrint", "Print");
				lsCopy = reader.GetString(MN, "Copy", "&Copy");
				lsCut = reader.GetString(MN, "Cut", "Cu&t");
				lsPaste = reader.GetString(MN, "Paste", "&Paste");
				lsSearch = reader.GetString(MN, "Search", "Search");

				reader.Close();
			}
			catch {
				LsTotal = "Total:";
				LsPhotos = "Photos";
				LsSel = "Selected:";
				LsAlbums = "Virtual Photo Organizer Album files";
				lsmFile = "&File";
				lsmNAlbum = "&New Album...";
				lsmOAlbum = "&Open Album...";
				lsImpPhotos = "Import Photos";
				lsFromFile = "From F&ile";
				lsFromFolder = "From F&older";
				lsRen = "&Rename Album";
				lsDel = "&Delete Album";
				lsExit = "&Exit";
				lsEdit = "&Edit";
				lsmOpenPhoto = "&Open Photo...";
				lsmSlideSh = "&Start Slideshow";
				lsmRLeft = "Rotate &Left";
				lsmRRight = "Rotate &Right";
				lsRenPhoto = "Re&name Photo";
				lsDelPhoto = "&Delete Photo";
				lsTools = "&Tools";
				lsSettings = "&Settings...";
				lsmHTMLExp = "&Export to HTML Album...";
				lsHelp = "&Help";
				lsAbout = "&About";
				lstbNAlbum = "New Album";
				lstbOAlbum = "Open Album";
				lstbOPhoto = "Open Photo";
				lstbSlideSh = "Start Slideshow";
				lstbRLeft = "Rotate Left";
				lstbRRight = "Rotate Right";
				lstbDel = "Delete Photo";
				lstbHTMLExp = "Export to HTML Album";
				lsmPrint = "&Print...";
				lstbPrint = "Print";
				lsCopy = "&Copy";
				lsCut = "Cu&t";
				lsPaste = "&Paste";
				lsSearch = "Search";
			}

			// assign language strings
			miFile.Text = lsmFile;
			miNAlbum.Text = lsmNAlbum;
			miOpenAlbum.Text = lsmOAlbum;
			miImport.Text = lsImpPhotos;
			miFromFile.Text = lsFromFile;
			miFolder.Text = lsFromFolder;
			miRenAlbum.Text = lsRen;
			miDelAlbum.Text = lsDel;
			miExit.Text = lsExit;
			miEdit.Text = lsEdit;
			miOpenPhoto.Text = lsmOpenPhoto;
			miSlideSh.Text = lsmSlideSh;
			miRotLeft.Text = lsmRLeft;
			miRotRight.Text = lsmRRight;
			miRenPhoto.Text = lsRenPhoto;
			miDelPhoto.Text = lsDelPhoto;
			miTools.Text = lsTools;
			miSettings.Text = lsSettings;
			miHTMLExp.Text = lsmHTMLExp;
//			miHelp.Text = lsHelp;
//			miAbout.Text = lsAbout;
			tbNewAlbum.ToolTipText = lstbNAlbum;
			tbImportPhotos.ToolTipText = lsImpPhotos;
			tbOpenP.ToolTipText = lstbOPhoto;
			tbSlideSh.ToolTipText = lstbSlideSh;
			tbRotLeft.ToolTipText = lstbRLeft;
			tbRotRight.ToolTipText = lstbRRight;
			tbDel.ToolTipText = lstbDel;
			tbHTMLExp.ToolTipText = lstbHTMLExp;
			miPrint.Text = lsmPrint;
			tbPrint.ToolTipText = lstbPrint;
			miCopy.Text = lsCopy;
			miCut.Text = lsCut;
			miPaste.Text = lsPaste;
			miSearch.Text = lsSearch;
		}

		#endregion

		#region ToolBarButtons enum

		private enum ToolBarB
		{
			AddAlbum,
			ImportPhotos,
			OpenPhoto,
			StartSlideShow,
			RLeft,
			RRight,
			Delete,
			Print,
			ExpToHTML
		}

		#endregion

		#region Vom Windows Form-Designer generierter Code
		/// <summary>
		/// Erforderliche Methode f黵 die Designerunterst黷zung. 
		/// Der Inhalt der Methode darf nicht mit dem Code-Editor ge鋘dert werden.
		/// </summary>
		private void InitializeComponent() {
			this.components = new System.ComponentModel.Container();
			System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(MainForm));
			this.stBar = new System.Windows.Forms.StatusBar();
			this.stpProg = new System.Windows.Forms.StatusBarPanel();
			this.stpCurrP = new System.Windows.Forms.StatusBarPanel();
			this.stpPhotos = new System.Windows.Forms.StatusBarPanel();
			this.tBar = new System.Windows.Forms.ToolBar();
			this.tbNewAlbum = new System.Windows.Forms.ToolBarButton();
			this.tbImportPhotos = new System.Windows.Forms.ToolBarButton();
			this.toolBarButton8 = new System.Windows.Forms.ToolBarButton();
			this.tbOpenP = new System.Windows.Forms.ToolBarButton();
			this.tbSlideSh = new System.Windows.Forms.ToolBarButton();
			this.tbRotLeft = new System.Windows.Forms.ToolBarButton();
			this.tbRotRight = new System.Windows.Forms.ToolBarButton();
			this.tbDel = new System.Windows.Forms.ToolBarButton();
			this.tbPrint = new System.Windows.Forms.ToolBarButton();
			this.tbHTMLExp = new System.Windows.Forms.ToolBarButton();
			this.ilToolBar = new System.Windows.Forms.ImageList(this.components);
			this.mm = new System.Windows.Forms.MainMenu();
			this.miFile = new System.Windows.Forms.MenuItem();
			this.miNAlbum = new System.Windows.Forms.MenuItem();
			this.miOpenAlbum = new System.Windows.Forms.MenuItem();
			this.miPrint = new System.Windows.Forms.MenuItem();
			this.menuItem2 = new System.Windows.Forms.MenuItem();
			this.miImport = new System.Windows.Forms.MenuItem();
			this.miFromFile = new System.Windows.Forms.MenuItem();
			this.miFolder = new System.Windows.Forms.MenuItem();
			this.menuItem6 = new System.Windows.Forms.MenuItem();
			this.miRenAlbum = new System.Windows.Forms.MenuItem();
			this.miDelAlbum = new System.Windows.Forms.MenuItem();
			this.menuItem9 = new System.Windows.Forms.MenuItem();
			this.miExit = new System.Windows.Forms.MenuItem();
			this.miEdit = new System.Windows.Forms.MenuItem();

⌨️ 快捷键说明

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