• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 124,  comments - 29,  trackbacks - 0
              1 private void MoveCmdToLast(TextBox txtCmdInput, String selCmd)//把所選中的命令移動到最下一行然后顯示在文本框中
              2        {
              3            String txtStr = txtCmdInput.Text;
              4            int start = txtStr.IndexOf(selCmd);
              5
              6            //把選中行或光標所在行的命令送到最后一行且光標移到第一行
              7            if (selCmd != null && selCmd.Length > 0 && selCmd != "\r\n")
              8            {
              9                String strLeft = txtStr.Remove(start, selCmd.Length);
             10
             11                //處理剩下的字符串,注意把開頭結尾的"\r\n"找到刪掉
             12
             13                while (strLeft != null && strLeft.Length > 0 && (strLeft[strLeft.Length - 1== '\r' || strLeft[strLeft.Length - 1== '\n'))
             14                {
             15                    strLeft = strLeft.Remove(strLeft.Length - 11);
             16                }

             17
             18                while (strLeft != null && strLeft.Length > 0 && strLeft[0== '\r')
             19                {
             20                    strLeft = strLeft.Remove(02);
             21                }

             22
             23                //處理你取出的當前行的字符串若有"\r\n"注意把它去掉
             24                while (selCmd != "" && selCmd.Length > 0 &&
             25                       (selCmd[selCmd.Length - 1== '\r'
             26                       || selCmd[selCmd.Length - 1== '\n'))
             27                {
             28                    selCmd = selCmd.Remove(selCmd.Length - 11);
             29                }

             30
             31                String strNew = strLeft + "\r\n" + selCmd;
             32                //最后前面留一行空格且把鼠標定位到此
             33                txtCmdInput.Text = "\r\n" + strNew;
             34            }

             35            else
             36            {
             37                MessageBox.Show("請您不要發送空命令,謝謝合作!""溫馨提示:");
             38            }

             39        }

             40        private String GetCmd(TextBox txtCmdInput)//取控件里鼠標所在行或光標所選擇的命令,發送的命令暫時寫到文件中
             41        {
             42            string txtStr = txtCmdInput.Text;
             43            string selStr = txtCmdInput.SelectedText;
             44            string selCmd = null;
             45            int start = 0;
             46            if (selStr != null && selStr.Length > 0)
             47            {
             48
             49                int selBegin = txtStr.IndexOf(selStr);
             50                int selEnd = selBegin + selStr.Length - 1;
             51                string subPreStr = txtStr.Substring(0, selBegin);
             52                string subLastStr = txtStr.Substring(selEnd + 1);
             53                string preleft = null;
             54                string lastleft = null;
             55                if (subPreStr.Length > 0 && subPreStr[subPreStr.Length - 1!= '\n')
             56                {
             57                    int nindex = subPreStr.LastIndexOf("\n");
             58                    preleft = subPreStr.Substring(nindex + 1); 
             59                }

             60                if (subLastStr.Length > 0 && subLastStr[0!= '\r')
             61                {
             62                    int rindex = subLastStr.IndexOf("\r");
             63                    if (rindex != -1)
             64                    {
             65                        lastleft = subLastStr.Substring(0, rindex + 2);
             66                    }

             67                    else lastleft = null;
             68                }

             69                else if (subLastStr != null && subLastStr.Length > 0 && subLastStr[0== '\r')
             70                {
             71                    lastleft = "\r\n";
             72                }

             73                selStr = preleft + selStr + lastleft;
             74                start = txtStr.IndexOf(selStr);
             75                selCmd = selStr;
             76            }

             77            else
             78            {
             79                //取光標所在行的字符串包括末尾的換行回車符"\r\n"
             80                //string strCmdText = txtCmdInput.Text;
             81                int curInx = txtCmdInput.SelectionStart;       //光標所在位置索引
             82                string tmp = txtStr.Substring(0, curInx);  //開始到光標處的子串
             83                int n = tmp.LastIndexOf('\n');             //找光標所在行的開頭索引start + 1
             84                start = n + 1;
             85                tmp = txtStr.Substring(curInx);//當前光標所在位置到最后的子串
             86                int end = tmp.IndexOf('\n'); //找該行的末尾索引包括"\r\n"
             87                string curRowText = null;
             88                if (end > 0)
             89                {
             90                    curRowText = txtStr.Substring(start, curInx - start + end + 1);
             91                }

             92                else
             93                {
             94                    curRowText = txtStr.Substring(start);
             95                }

             96                selCmd = curRowText;
             97            }

             98            //MoveCmdToLast(txtStr,selCmd);
             99            //把光標所在行的命令寫入文件中
            100            FileStream fs = new FileStream("D:\\file.txt",FileMode.Append,FileAccess.Write);
            101            StreamWriter sw = new StreamWriter(fs);
            102            sw.Flush();
            103            sw.Write(selCmd);
            104            sw.Flush();
            105            sw.Close();
            106            return selCmd;
            107        }
              
            函數調用如下:
                    private void txtCmdInput_KeyDown(object sender, KeyEventArgs e)
                    {
                        if (e.KeyCode == Keys.Enter)
                        {
                            e.SuppressKeyPress = true;    / /回車事件已經處理完不再響應了
                            string str = GetCmd(txtCmdInput);
                            MoveCmdToLast(txtCmdInput, str);
                        }
                    }
            posted on 2008-09-04 10:35 天書 閱讀(4543) 評論(0)  編輯 收藏 引用

            <2008年9月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            常用鏈接

            留言簿(5)

            隨筆檔案

            文章分類

            文章檔案

            好友的Bolg

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久伊人五月天论坛| 99久久久精品| 久久人人青草97香蕉| 亚洲综合久久夜AV | 久久婷婷五月综合97色| 26uuu久久五月天| 国产精品久久久久蜜芽| 韩国无遮挡三级久久| 亚洲国产精品无码久久久久久曰| 国产一区二区久久久| 精品久久久久久成人AV| 日韩va亚洲va欧美va久久| 亚洲人成网站999久久久综合| 亚洲精品综合久久| .精品久久久麻豆国产精品| 亚洲精品第一综合99久久| 日本精品久久久久中文字幕8| 亚洲日本久久久午夜精品| 日本三级久久网| A狠狠久久蜜臀婷色中文网| 亚洲精品午夜国产va久久| 伊人久久免费视频| 久久99精品久久久久久久不卡| 久久久噜噜噜久久中文字幕色伊伊| 久久偷看各类wc女厕嘘嘘| 久久久精品日本一区二区三区| 久久九九精品99国产精品| 亚洲综合伊人久久大杳蕉| 亚洲国产成人乱码精品女人久久久不卡| 99久久成人国产精品免费| 少妇高潮惨叫久久久久久| 精产国品久久一二三产区区别| 亚洲国产精品嫩草影院久久| 久久国产香蕉一区精品| 伊人久久大香线焦综合四虎| 久久精品国产一区二区三区日韩| 国产精品美女久久久久| 狠狠色丁香久久综合五月| 东京热TOKYO综合久久精品| 国产精品女同久久久久电影院| 国产V综合V亚洲欧美久久|