Esempio n. 1
0
        //新建文件的实现
        private void NewFile()
        {
            if (Main_Text != null)
            {
                if (!_IsSaved)//判断已打开的文件是否保存,如果没有保存,则提示用户是否需要保存
                {
                    //弹出对话框,提示用户。
                    DialogResult dr = MessageBox.Show(this, "当前文本已修改,需要保存吗?", "提示信息", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
                    if (dr == DialogResult.Yes)//如果用户选择同意保存,则执行保存函数
                    {
                        SaveFile();
                    }
                    else if (dr == DialogResult.Cancel)//如果用户选择不保存,则返回。
                    {
                        return;
                    }
                }
            }
            //如果未打开文件,则清除文本框的内容
            Main_Text.Clear();
            _FileName = "";
            _IsSaved  = true;
            this.Text = "新建文本文档";

            SetRank(false);
        }
Esempio n. 2
0
 //复制功能的实现
 private void Edit_Copy_Click(object sender, EventArgs e)
 {
     if (Main_Text.SelectedText != "")
     {
         Edit_Copy.Enabled = true;
         Main_Text.Copy();
         SetRank(false);
     }
 }
Esempio n. 3
0
 //跳转至某一行数的实现
 private void ToLine()
 {
     //RichTextBox中的GetFirstCharIndexFromLine可以获取指定行数的首个字符
     Main_Text.SelectionStart = Main_Text.GetFirstCharIndexFromLine(GoTo.SetNum - 1);
     //使光标选定的字符字数为0;
     Main_Text.SelectionLength = 0;
     //在该处设置焦点
     Main_Text.Focus();
     //将光标移至焦点
     Main_Text.ScrollToCaret();
 }
Esempio n. 4
0
        //检测文本行、列数
        private void SetRank(Boolean temp)//加入参数,判断是否按下了Enter键
        {
            int totalline = Main_Text.GetLineFromCharIndex(Main_Text.TextLength) + 1;
            int index     = Main_Text.GetFirstCharIndexOfCurrentLine();

            //以下两行代码当用户按下Enter键时,无法正确判断行、列数。
            //因此,需要加入判断条件。
            int row = Main_Text.GetLineFromCharIndex(index) + 1;
            int col = Main_Text.SelectionStart - index + 1;

            if (temp == true)//如果按下Enter键,则行数+1,列数重新设置为1
            {
                row = row + 1;
                col = 1;
            }
            StatusBar_Row.Text = " 第" + row + "行 ";
            StatusBar_Col.Text = " 第" + col + "列 ";
            NowRowNum          = row;
        }
Esempio n. 5
0
 //全选功能的实现
 private void Edit_All_Click(object sender, EventArgs e)
 {
     Main_Text.SelectAll();
 }
Esempio n. 6
0
 //粘贴功能的实现
 private void Edit_Paste_Click(object sender, EventArgs e)
 {
     Main_Text.Paste();
     SetRank(false);
 }
Esempio n. 7
0
 //撤消功能的实现
 private void Edit_Undo_Click(object sender, EventArgs e)
 {
     Main_Text.Undo();
     SetRank(false);
 }