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

📄 dialogform.cs

📁 wince open file dialog source code
💻 CS
📖 第 1 页 / 共 3 页
字号:
            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 + -