当前位置:编程学习 > C#/ASP.NET >>

C#点击button逐行复制textbox中的内容

面板上一个button。一个textbox。texbox是一个多行的文本框。当点击一次按钮复制一行内容。
比如内容为:
11111111
2222222
33333
第一次点击按钮复制第一行,再点击下按钮复制第二行,当复制到最后以后,重新从第一行开始复制。求源码。 C# textbox --------------------编程问答--------------------
namespace 逐行复制文本
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //按钮点击次数
        private int index = 0;
        private void button1_Click(object sender, EventArgs e)
        {
            //获取每一行文本,存入数组中
            string[] str = textBox1.Text.Split('\n');
            if(index == 0)
            {
                textBox2.Text = str[0];
                index++;
            }
            else if(index == 1)
            {
                textBox2.Text = str[1];
                index++;
            }
            else if(index == 2)
            {
                textBox2.Text = str[2];
                index = 0;
            }
        }
    }
}

在此,仅提供一个简单思路 --------------------编程问答-------------------- 做个计数,每次增加1,然后访问 textbox1.Lines[i] --------------------编程问答--------------------         
//按钮点击次数
        private int index = -1;
        private void button1_Click(object sender, EventArgs e)
        {
            //获取每一行文本,存入数组中如果textBox1是只读的,可将lines这行放到方法外
            string[] lines = textBox1.Text.Split('\n');
            if(lines.Length != 0)
            {
                ++index;
                if(index >= lins.Length) index = 0;
                textBox2.Text = lines[index];
            }         
        }
--------------------编程问答-------------------- 该数组中的每个元素成为文本框控件中的一行文本。如果文本框控件的 Multiline 属性设置为 true,并且文本中出现换行符,则换行符后的文本被添加到该数组的一个新元素中,并显示在另一行上。


 string[] tempArray = new string [textBox1.Lines.Length];
    tempArray = textBox1.Lines; --------------------编程问答-------------------- 多行文本可以用richtextbox

        private int i = 0;
        private string strCopy = string.Empty;
        private void button1_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(richTextBox1.Text.Trim()))
            {
                return;
            }
            string[] str = this.richTextBox1.Lines;
            strCopy = str[i];
            i++;
            if (i == richTextBox1.Lines.Count())
            { i = 0; }
        }
--------------------编程问答-------------------- --------------------编程问答--------------------
引用 6 楼 haoyuexihuai 的回复:

--------------------编程问答--------------------
引用 3 楼 dongxinxi 的回复:
        
//按钮点击次数
        private int index = -1;
        private void button1_Click(object sender, EventArgs e)
        {
            //获取每一行文本,存入数组中如果textBox1是只读的,可将lines这行放到方法外
            string[] lines = textBox1.Text.Split('\n');
            if(lines.Length != 0)
            {
                ++index;
                if(index >= lins.Length) index = 0;
                textBox2.Text = lines[index];
            }         
        }

+1  如果是复制到剪切板 可以用 Clipboard.SetDataObject(lines[index]);
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,