📄 dialogform.cs
字号:
this.DetilMenu = new System.Windows.Forms.MenuItem();
this.TypeMenu = new System.Windows.Forms.MenuItem();
this.menuItem11 = new System.Windows.Forms.MenuItem();
this.AboutMenu = new System.Windows.Forms.MenuItem();
this.menuItem14 = new System.Windows.Forms.MenuItem();
this.CancelMenu = new System.Windows.Forms.MenuItem();
this.FileNameLabel = new System.Windows.Forms.Label();
this.FileListView = new System.Windows.Forms.ListView();
this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
this.FileImageList = new System.Windows.Forms.ImageList();
this.FileNameEnter = new System.Windows.Forms.TextBox();
this.PleaseWaitInfo = new System.Windows.Forms.Label();
//
// mainMenu1
//
this.mainMenu1.MenuItems.Add(this.OKMenu);
this.mainMenu1.MenuItems.Add(this.OtherMenu);
//
// OKMenu
//
this.OKMenu.Text = "确定";
this.OKMenu.Click += new System.EventHandler(this.OKMenu_Click);
//
// OtherMenu
//
this.OtherMenu.MenuItems.Add(this.PreDirMenu);
this.OtherMenu.MenuItems.Add(this.menuItem2);
this.OtherMenu.MenuItems.Add(this.EditMenu);
this.OtherMenu.MenuItems.Add(this.menuItem6);
this.OtherMenu.MenuItems.Add(this.ReflashMenu);
this.OtherMenu.MenuItems.Add(this.ViewMenu);
this.OtherMenu.MenuItems.Add(this.TypeMenu);
this.OtherMenu.MenuItems.Add(this.menuItem11);
this.OtherMenu.MenuItems.Add(this.AboutMenu);
this.OtherMenu.MenuItems.Add(this.menuItem14);
this.OtherMenu.MenuItems.Add(this.CancelMenu);
this.OtherMenu.Text = "其他";
this.OtherMenu.Popup += new System.EventHandler(this.OtherMenu_Popup);
//
// PreDirMenu
//
this.PreDirMenu.Text = "向上";
this.PreDirMenu.Click += new System.EventHandler(this.PreDirMenu_Click);
//
// menuItem2
//
this.menuItem2.Text = "-";
//
// EditMenu
//
this.EditMenu.MenuItems.Add(this.NewDirMenu);
this.EditMenu.MenuItems.Add(this.RenMenu);
this.EditMenu.MenuItems.Add(this.DelMenu);
this.EditMenu.Text = "编辑";
//
// NewDirMenu
//
this.NewDirMenu.Text = "新建文件夹...";
this.NewDirMenu.Click += new System.EventHandler(this.NewDirMenu_Click);
//
// RenMenu
//
this.RenMenu.Text = "重命名...";
this.RenMenu.Click += new System.EventHandler(this.RenMenu_Click);
//
// DelMenu
//
this.DelMenu.Text = "删除";
this.DelMenu.Click += new System.EventHandler(this.DelMenu_Click);
//
// menuItem6
//
this.menuItem6.Text = "-";
//
// ReflashMenu
//
this.ReflashMenu.Text = "刷新";
this.ReflashMenu.Click += new System.EventHandler(this.ReflashMenu_Click);
//
// ViewMenu
//
this.ViewMenu.MenuItems.Add(this.ListMenu);
this.ViewMenu.MenuItems.Add(this.DetilMenu);
this.ViewMenu.Text = "查看";
//
// ListMenu
//
this.ListMenu.Text = "列表";
this.ListMenu.Click += new System.EventHandler(this.ListMenu_Click);
//
// DetilMenu
//
this.DetilMenu.Checked = true;
this.DetilMenu.Text = "详细信息";
this.DetilMenu.Click += new System.EventHandler(this.DetilMenu_Click);
//
// TypeMenu
//
this.TypeMenu.Text = "文件类型";
//
// menuItem11
//
this.menuItem11.Text = "-";
//
// AboutMenu
//
this.AboutMenu.Text = "关于...";
this.AboutMenu.Click += new System.EventHandler(this.AboutMenu_Click);
//
// menuItem14
//
this.menuItem14.Text = "-";
//
// CancelMenu
//
this.CancelMenu.Text = "取消";
this.CancelMenu.Click += new System.EventHandler(this.CancelMenu_Click);
//
// FileNameLabel
//
this.FileNameLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular);
this.FileNameLabel.ForeColor = System.Drawing.Color.Black;
this.FileNameLabel.Location = new System.Drawing.Point(3, 4);
this.FileNameLabel.Size = new System.Drawing.Size(46, 22);
this.FileNameLabel.Text = "文件名";
//
// FileListView
//
this.FileListView.Activation = System.Windows.Forms.ItemActivation.OneClick;
this.FileListView.Columns.Add(this.columnHeader1);
this.FileListView.Columns.Add(this.columnHeader2);
this.FileListView.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular);
this.FileListView.ForeColor = System.Drawing.Color.Black;
this.FileListView.LargeImageList = this.FileImageList;
this.FileListView.Location = new System.Drawing.Point(3, 29);
this.FileListView.Size = new System.Drawing.Size(234, 236);
this.FileListView.SmallImageList = this.FileImageList;
this.FileListView.View = System.Windows.Forms.View.Details;
this.FileListView.ItemActivate += new System.EventHandler(this.FileListView_ItemActivate);
this.FileListView.SelectedIndexChanged += new System.EventHandler(this.FileListView_SelectedIndexChanged);
this.FileListView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FileListView_KeyDown);
//
// columnHeader1
//
this.columnHeader1.Text = "文件名";
this.columnHeader1.Width = 112;
//
// columnHeader2
//
this.columnHeader2.Text = "大小";
this.columnHeader2.Width = 49;
this.FileImageList.Images.Clear();
this.FileImageList.Images.Add(((System.Drawing.Icon)(resources.GetObject("resource"))));
this.FileImageList.Images.Add(((System.Drawing.Icon)(resources.GetObject("resource1"))));
//
// FileNameEnter
//
this.FileNameEnter.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular);
this.FileNameEnter.ForeColor = System.Drawing.Color.Black;
this.FileNameEnter.Location = new System.Drawing.Point(55, 3);
this.FileNameEnter.Size = new System.Drawing.Size(182, 20);
//
// PleaseWaitInfo
//
this.PleaseWaitInfo.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular);
this.PleaseWaitInfo.ForeColor = System.Drawing.SystemColors.ActiveBorder;
this.PleaseWaitInfo.Location = new System.Drawing.Point(3, 80);
this.PleaseWaitInfo.Size = new System.Drawing.Size(234, 22);
this.PleaseWaitInfo.Text = "请稍侯...";
this.PleaseWaitInfo.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.PleaseWaitInfo.Visible = false;
//
// DialogForm
//
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(240, 268);
this.Controls.Add(this.PleaseWaitInfo);
this.Controls.Add(this.FileNameEnter);
this.Controls.Add(this.FileListView);
this.Controls.Add(this.FileNameLabel);
this.ForeColor = System.Drawing.Color.Black;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Menu = this.mainMenu1;
this.Resize += new System.EventHandler(this.DialogForm_Resize);
this.Load += new System.EventHandler(this.DialogForm_Load);
}
#endregion
//弹出菜单
private void OtherMenu_Popup(object sender, EventArgs e)
{
bool SelectedFile1 = (FileListView.SelectedIndices.Count > 0);
bool SelectedFile2 = false;
if (SelectedFile1)
{
if (SelectItem.Text != "..") SelectedFile2 = true;
}
bool SelectedFile = SelectedFile1 && SelectedFile2;
RenMenu.Enabled = SelectedFile;
DelMenu.Enabled = SelectedFile;
PreDirMenu.Enabled = (NowDir != @"\");
}
//启动
private void DialogForm_Load(object sender, EventArgs e)
{
//记录窗口的句柄
WindowHandle = API.FindWindow(null, this.Text);
if (!Directory.Exists(DefaultDir))
{
DefaultDir = @"\My Documents";
if (!Directory.Exists(DefaultDir))
{
DefaultDir = @"\";
if (!Directory.Exists(DefaultDir))
{
DefaultDir = @"\Storage";
}
}
}
//文件类型分析
int DevideIndex = Filetype.IndexOf(@"|");
while (DevideIndex != -1)
{
string FileExtName = Filetype.Substring(0, DevideIndex);
if (FileExtName + "" != "")
{
MenuItem newItem = new MenuItem();
if (FileExtName == "*")
newItem.Text = "所有文件";
else newItem.Text = FileExtName + " 文件";
newItem.Click += new EventHandler(newItem_Click);
TypeMenu.MenuItems.Add(newItem);
}
Filetype = Filetype.Substring(DevideIndex+1);
DevideIndex = Filetype.IndexOf(@"|");
}
if (TypeMenu.MenuItems.Count == 0)
{
MenuItem newItem = new MenuItem();
newItem.Text = "所有文件";
newItem.Click += new EventHandler(newItem_Click);
TypeMenu.MenuItems.Add(newItem);
}
newItem_Click(TypeMenu.MenuItems[0], e);
//查看方式
if (DefaultViewType == ViewType.List) ListMenu_Click(null, e);
else DetilMenu_Click(null, e);
ReflashList(DefaultDir);
}
//文件类型菜单
void newItem_Click(object sender, EventArgs e)
{
MenuItem ThisItem = (MenuItem)sender;
foreach (MenuItem EachItem in TypeMenu.MenuItems)
{
EachItem.Checked = false;
}
ThisItem.Checked = true;
if (ThisItem.Text == "所有文件") AcceptFiletype = "";
else
{
AcceptFiletype = ThisItem.Text.Substring(0, ThisItem.Text.IndexOf(" "));
}
ReflashList(NowDir);
}
//确定
private void OKMenu_Click(object sender, EventArgs e)
{
string TempName = "";
if (FileNameEnter.Focused)
{
if (CheckNameIsOK(FileNameEnter.Text))//检查文件名
{
TempName = MixToFullPath(NowDir, FileNameEnter.Text);
}
else
{
ShowError(FileNameEnter.Text + " 不是有效的文件名");
return;
}
}
else if (SelectItem != null)
{
ItemFileInfo ThisInfo = (ItemFileInfo)FileInfoList[SelectItem.Index];
if (ThisInfo.FileType == ItemType.File)
TempName = ThisInfo.FullPach;
}
if (TempName != "")
{
if (CheckFile(TempName))
{
//如果是保存文件模式,并且文件不带文件名
if (DialogMod == DialogModType.SaveFile)
{
if (AcceptFiletype != "")
{
if (!TempName.ToLower().EndsWith("." + AcceptFiletype.ToLower()))
{
TempName += "." + AcceptFiletype.ToLower();
}
}
}
FileName = TempName;
this.DialogResult = DialogResult.Yes;
this.Close();
}
}
}
//在FileListView按键操作
private void FileListView_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Up)
{
if (SelectItem != null)
{
if (SelectItem.Index == 0)
{
FileNameEnter.Focus();
}
}
}
else if (e.KeyCode == Keys.Enter)
{
//返回
FileListView_ItemActivate(null, null);
}
//其他
else
{
//需要快速定位的关键字
string SearchStr = "";
/*
else if ((e.KeyCode == System.Windows.Forms.Keys.F1))
{
// Soft Key 1
// Not handled when menu is present.
}
else if ((e.KeyCode == System.Windows.Forms.Keys.F2))
{
// Soft Key 2
// Not handled when menu is present.
}
else if ((e.KeyCode == System.Windows.Forms.Keys.Up))
{
// Up
}
else if ((e.KeyCode == System.Windows.Forms.Keys.Down))
{
// Down
}
else if ((e.KeyCode == System.Windows.Forms.Keys.Left))
{
// Left
}
else if ((e.KeyCode == System.Windows.Forms.Keys.Right))
{
// Right
}
else if ((e.KeyCode == System.Windows.Forms.Keys.Enter))
{
// Enter
}
if ((e.KeyCode == System.Windows.Forms.Keys.D1))
{
// 1
}
else if ((e.KeyCode == System.Windows.Forms.Keys.D2))
{
// 2
SearchStr = "abc";
}
else if ((e.KeyCode == System.Windows.Forms.Keys.D3))
{
// 3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -