📄 mainform.cs
字号:
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 + -