怎么用textbox控件控制复制richtextbox中文本条数。

解决方案 »

  1.   

    if (richtextbox1.Text.Lines > int.Parse(textbox1.Text))
    {
        //超过条数
    }
      

  2.   

    if (richtextbox1.Text.Lines.Count() > int.Parse(textbox1.Text))
    {
      //超过条数
    }
      

  3.   

    问题的意思就是 更具textbox给定的文本数量,进行richtextbox1里的行数复制。 例如:textbox给定3.就复制richtextbox1里的三行记录。
      

  4.   

    复制到哪里去呢?
    就根据textbox里写的数字,来决定richtextbox可以复制的行数,这个也太简单了吧
    把richtextbox中的文本放到一个list<string>数组中不就好了
      

  5.   


            public Form1()
            {
                InitializeComponent();
                //初始化
                this.richTextBox1.Text = "第一行\r\n第二行\r\n第三行\r\n第四行\r\n第五行\r\n第6行";
            }        private void button1_Click(object sender, EventArgs e)
            {
                if (this.textBox1.Text.Trim() == "")
                {
                    MessageBox.Show("請輸入一個整數");
                    return;
                }
                //可以寫個判斷方法
                try 
            {
                    Convert.ToInt32(this.textBox1.Text.Trim());
            }
            catch (Exception)
            {
                    MessageBox.Show("請輸入一個整數");
                    return;
            }
                int n =Convert.ToInt32(this.textBox1.Text.Trim());
                //設置讀取的開始行,0為第一行
                int startRow = 2;
                //richTextBox1文本總行數
                int totalRow = this.richTextBox1.Lines.Length;
                if (startRow > totalRow)
                {
                    MessageBox.Show("richTextBox中取不到此行");
                    return;
                }
                if (startRow + n < totalRow)
                {
                    for (int i = startRow; i < startRow + n; i++)
                    {
                        string s = "";
                        s = this.richTextBox1.Lines[i].ToString();
                        //直接彈出該條信息,複製未做,是否是你想要的值?
                        MessageBox.Show(s);
                    }
                }
                else
                {
                    for (int i = startRow; i < totalRow; i++)
                    {
                        string s = "";
                        s = this.richTextBox1.Lines[i].ToString();
                        MessageBox.Show(s);
                    }
                } 
            }
      

  6.   

    现在可以控制逐行的读取并复制啦.大侠帮帮忙.怎么才能做到逐行的剪切呢.也是用textbox控制条数.
      

  7.   

    //設置讀取的開始行,0為第一行
    int startRow = 2;
    int n = Convert.ToInt32(this.textBox1.Text.Trim());
    string s = string.Join("\r\n", this.richTextBox1.Lines.Skip(startRow).Take(n).ToArray());
    MessageBox.Show(s); //复制
    剪切:
    this.richTextBox1.Lines = this.richTextBox1.Lines.Take(startRow).Concat(this.richTextBox1.Lines.Skip(startRow + n)).ToArray();
      

  8.   

    8#中的Skip 和 Take提示有错误怎么回事。
      

  9.   

    说明你使用的还是VS2005或者更旧的版本,或者忘记添加using System.Linq; 了。