winfrom文本框右鍵添加剪切/複製/粘貼功能

//剪切/複製/粘貼
private void toolStripMenuItem36_Click(object sender, EventArgs e)
        {
            KeyMouseJQ(rtboxJkzd);
        }
        private void toolStripMenuItem23_Click(object sender, EventArgs e)
        {
            KeyMouseFZ(rtboxJkzd);
        }

        private void toolStripMenuItem24_Click(object sender, EventArgs e)
        {
            KeyMouseZT(rtboxJkzd);
        }

//剪切 2020/05/13  add  zx
        public void KeyMouseJQ(RichTextBox rtb)
        {
            string strCopyText = rtb.SelectedText;
            if (!string.IsNullOrEmpty(strCopyText))
            {
                Clipboard.SetDataObject(strCopyText);
                IDataObject iData = Clipboard.GetDataObject();
                string strPast = (String)iData.GetData(DataFormats.Text);
                string strStar = rtb.SelectionStart.ToString();//鼠標當前位置
                rtb.Text = rtb.Text.Remove(Convert.ToInt32(strStar), strPast.Length);
                //設置粘貼後鼠標的節點位置
                rtb.Select(Int32.Parse(strStar), 0);
                rtb.ScrollToCaret(); //滾動到控件光標處 
            }
        }
        //複製 2020/05/13  add  zx
        public void KeyMouseFZ(RichTextBox rtb)
        {
            string strCopyText = rtb.SelectedText;
            if (!string.IsNullOrEmpty(strCopyText))
            {
                Clipboard.SetDataObject(strCopyText);
            }
        }
        //粘貼 2020/05/13  add  zx
        public void KeyMouseZT(RichTextBox rtb)
        {
            IDataObject iData = Clipboard.GetDataObject();
            if (iData.GetDataPresent(DataFormats.Text))
            {
                string strPast = (String)iData.GetData(DataFormats.Text);
                string strStar = rtb.SelectionStart.ToString();//鼠標當前位置
                rtb.Text = rtb.Text.Insert(rtb.SelectionStart, strPast);
                //設置粘貼後鼠標的節點位置
                rtb.Select(Int32.Parse(strStar) + strPast.Length, 0);
                rtb.ScrollToCaret(); //滾動到控件光標處 
            }
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章