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

📄 main.cs

📁 Microsoft?Visual C#?.NET (Core Reference)
💻 CS
📖 第 1 页 / 共 2 页
字号:
            this.ClientSize = new System.Drawing.Size(292, 201);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                          this.textBox});
            this.Menu = this.mainMenu1;
            this.Name = "MainForm";
            this.Text = "Mini Editor";
            this.Load += new System.EventHandler(this.mainForm_Load);
            this.MenuStart += new System.EventHandler(this.mainForm_MenuStart);
            this.MenuComplete += new System.EventHandler(this.mainForm_MenuComplete);
            this.ResumeLayout(false);

        }
        #endregion

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main() 
        {
            Application.Run(new MainForm());
        }

        private void mainForm_Load(object sender, System.EventArgs e)
        {
            // Set the caption for a new session
            Text = _appName + " - " + "[empty]";
        }

        private void fileOpenMenuItem_Click(object sender, System.EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();
            dlg.Filter = _fileFilter;
            dlg.InitialDirectory = Application.CommonAppDataPath;
            dlg.CheckFileExists = false;
            if(dlg.ShowDialog() == DialogResult.OK)
            {
                string path = dlg.FileName;
                if(File.Exists(path) != true)
                {
                    StreamWriter writer = File.CreateText(path);
                    writer.Close();
                }
                _fileName = Path.GetFileName(path);
                _pathName = path;
                Text = _appName + " - " +  _fileName;
                StreamReader reader = new StreamReader(path);
                textBox.Text = reader.ReadToEnd();
                reader.Close();
            }
        }

        private void editClearMenuItem_Click(object sender, System.EventArgs e)
        {
            _fileName = "";
            _pathName = "";
            Text = _appName + " - " + "[Empty]";
            textBox.Clear();
        }

        private void editWordWrapMenuItem_Click(object sender, System.EventArgs e)
        {
            textBox.WordWrap = !textBox.WordWrap;
        }

        private void fileExitMenuItem_Click(object sender, System.EventArgs e)
        {
            Close();
        }

        private void SaveTextToPath(string path)
        {
            StreamWriter writer = new StreamWriter(path);
            writer.Write(textBox.Text);
            writer.Close();
            textBox.Modified = false;
        }

        private void SaveTextToNewPath()
        {
            SaveFileDialog dlg = new SaveFileDialog();
            dlg.Filter = _fileFilter;
            dlg.InitialDirectory = Application.CommonAppDataPath;
            if(dlg.ShowDialog() == DialogResult.OK)
            {
                string path = dlg.FileName;
                if(File.Exists(path) == true)
                {
                    DialogResult result = MessageBox.Show(_overwriteWarning,
                        _appName,
                        MessageBoxButtons.OKCancel,
                        MessageBoxIcon.Question);
                    if(result == DialogResult.Cancel)
                        return;
                }
                _fileName = Path.GetFileName(path);
                _pathName = path;
                Text = _appName + " - " +  _fileName;
                SaveTextToPath(path);
            }
        }

        private void fileSaveMenuItem_Click(object sender, System.EventArgs e)
        {
            if(_fileName != null && _fileName != "")
                SaveTextToPath(_pathName);
            else
                SaveTextToNewPath();
        }

        private void fileSaveAsMenuItem_Click(object sender, System.EventArgs e)
        {
            SaveTextToNewPath();
        }

        private void hScrollMenuItem_Click(object sender, System.EventArgs e)
        {
            if(hScrollMenuItem.Checked)
            {
                // Clear horizontal scroll bars
                if(textBox.ScrollBars == ScrollBars.Both)
                    textBox.ScrollBars = ScrollBars.Vertical;
                else
                    textBox.ScrollBars = ScrollBars.None;
            }
            else
            {
                // Set horizontal scroll bars
                if(textBox.ScrollBars == ScrollBars.Vertical)
                    textBox.ScrollBars = ScrollBars.Both;
                else
                    textBox.ScrollBars = ScrollBars.Horizontal;
            }
        }

        private void vScrollMenuItem_Click(object sender, System.EventArgs e)
        {
            if(vScrollMenuItem.Checked)
            {
                // Clear vertical scroll bars
                if(textBox.ScrollBars == ScrollBars.Both)
                    textBox.ScrollBars = ScrollBars.Horizontal;
                else
                    textBox.ScrollBars = ScrollBars.None;
            }
            else
            {
                // Set vertical scroll bars
                if(textBox.ScrollBars == ScrollBars.Horizontal)
                    textBox.ScrollBars = ScrollBars.Both;
                else
                    textBox.ScrollBars = ScrollBars.Vertical;
            }
        }

        // --- Menu Update Handlers --//
        private void editMenuItem_Popup(object sender, System.EventArgs e)
        {
            editWordWrapMenuItem.Checked = textBox.WordWrap;
        }

        private void viewScrollBarMenuItem_Popup(object sender, System.EventArgs e)
        {
            // Horizontal scrolling is n/a if the text box control
            // has word-wrapping enabled.
            hScrollMenuItem.Enabled = !textBox.WordWrap;

            switch(textBox.ScrollBars)
            {
                case ScrollBars.Both:
                    hScrollMenuItem.Checked = true;
                    vScrollMenuItem.Checked = true;
                    break;

                case ScrollBars.Vertical:
                    hScrollMenuItem.Checked = false;
                    vScrollMenuItem.Checked = true;
                    break;

                case ScrollBars.Horizontal:
                    hScrollMenuItem.Checked = true;
                    vScrollMenuItem.Checked = false;
                    break;

                default:
                    hScrollMenuItem.Checked = false;
                    vScrollMenuItem.Checked = false;
                    break;
            }
        }

        private void mainForm_MenuComplete(object sender, System.EventArgs e)
        {
            Trace.WriteLine("MenuComplete event");
        }

        private void mainForm_MenuStart(object sender, System.EventArgs e)
        {
            Trace.WriteLine("MenuStart event");
        }

        private void fileMenuItem_Popup(object sender, System.EventArgs e)
        {
            fileSaveMenuItem.Enabled = textBox.Modified;
        }

        private void viewBackgroundMenuItem_Click(object sender, System.EventArgs e)
        {
            ColorDialog dlg = new ColorDialog();
            dlg.CustomColors = _customColors;
            dlg.Color = textBox.BackColor;
            if(dlg.ShowDialog() == DialogResult.OK)
            {
                textBox.BackColor = dlg.Color;
                _customColors = dlg.CustomColors;
            }
        }

        private void viewForegroundMenuItem_Click(object sender, System.EventArgs e)
        {
            ColorDialog dlg = new ColorDialog();
            dlg.CustomColors = _customColors;
            dlg.Color = textBox.ForeColor;
            if(dlg.ShowDialog() == DialogResult.OK)
            {
                textBox.ForeColor = dlg.Color;
                _customColors = dlg.CustomColors;
            }
        }
    }
}

⌨️ 快捷键说明

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