• <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                //處理剩下的字符串,注意把開頭結(jié)尾的"\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("請您不要發(fā)送空命令,謝謝合作!""溫馨提示:");
             38            }

             39        }

             40        private String GetCmd(TextBox txtCmdInput)//取控件里鼠標所在行或光標所選擇的命令,發(fā)送的命令暫時寫到文件中
             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        }
              
            函數(shù)調(diào)用如下:
                    private void txtCmdInput_KeyDown(object sender, KeyEventArgs e)
                    {
                        if (e.KeyCode == Keys.Enter)
                        {
                            e.SuppressKeyPress = true;    / /回車事件已經(jīng)處理完不再響應了
                            string str = GetCmd(txtCmdInput);
                            MoveCmdToLast(txtCmdInput, str);
                        }
                    }
            posted on 2008-09-04 10:35 天書 閱讀(4543) 評論(0)  編輯 收藏 引用

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(5)

            隨筆檔案

            文章分類

            文章檔案

            好友的Bolg

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            伊人久久大香线蕉亚洲| 国产亚洲色婷婷久久99精品91| 亚洲Av无码国产情品久久| 亚洲欧美一区二区三区久久| 精品免费久久久久久久| 久久99精品国产麻豆不卡| 狠狠综合久久综合88亚洲| 久久亚洲国产午夜精品理论片| 久久久久久A亚洲欧洲AV冫| 久久久久人妻精品一区二区三区| 国产精品久久久天天影视香蕉 | 久久久受www免费人成| 久久久久99这里有精品10| 久久精品草草草| 伊人久久大香线蕉亚洲五月天| 99久久精品国产毛片| 少妇精品久久久一区二区三区| 久久久久久亚洲精品不卡| 一本色道久久88加勒比—综合| 亚洲精品乱码久久久久久蜜桃图片 | 丁香久久婷婷国产午夜视频| 日产精品久久久久久久| 合区精品久久久中文字幕一区| 久久精品免费观看| 国内精品久久久久久久97牛牛 | 国产V综合V亚洲欧美久久| 99久久国产综合精品女同图片 | 久久精品国产亚洲77777| 亚洲精品视频久久久| 看全色黄大色大片免费久久久| 女人香蕉久久**毛片精品| 亚洲国产精品久久久久网站| 久久久久久免费一区二区三区| 波多野结衣中文字幕久久| 国产精品久久99| 一本一道久久精品综合| 精品无码人妻久久久久久| 欧美日韩精品久久久久| 久久精品国产欧美日韩99热| 综合久久国产九一剧情麻豆| 久久九九精品99国产精品|