C# 将单元格中的文本从dataGridView解析为文本框

C# 将单元格中的文本从dataGridView解析为文本框,c#,.net,winforms,datagridview,C#,.net,Winforms,Datagridview,例如,dataGridView单元格中格式1中的单词为:1;二,;三 我希望在文本框中以表格2的形式单独显示: text in textBox1: one text in textBox2: two text in textBox3: three 我如何解析这个 我用以下方式填写formOne中的datagrid: foreach (DataGridViewCell cell in dataGridView1.SelectedCells) { stri

例如,dataGridView单元格中格式1中的单词为:1;二,;三

我希望在文本框中以表格2的形式单独显示:

text in textBox1: one
text in textBox2: two
text in textBox3: three
我如何解析这个

我用以下方式填写formOne中的datagrid:

foreach (DataGridViewCell cell in dataGridView1.SelectedCells)
        {

            string text = "";
            for (int i = 0; i < emails.Length ;i++)
            {

                if (emails[i].ToString().Trim() != "")
                {


                    text = text + emails[i] + ";"  ;
                    dataGridView1.Rows[cell.RowIndex].Cells[col].Value = text;
                }
            }

        }    
foreach(dataGridView1.SelectedCells中的DataGridViewCell单元格)
{
字符串文本=”;
对于(int i=0;i
如果单元格中可能存在不同数量的值,请考虑动态创建texbox。另一个选择是使用网格


另一个选项-获取texbox列表:

var textBoxes = new List<TextBox> { textBox1, textBox2, textBox3 };
var textboxs=新列表{textBox1,textBox2,textBox3};
或者,如果要按正确的顺序将文本框添加到表单中:

var textBoxes = Controls.OfType<TextBox>().ToList();
var textboxs=Controls.OfType().ToList();
并将它们全部填入一个循环中

string cellValue = "one;two;three";
var values = cellValue.Split(new[] {';'}, StringSplitOptions.RemoveEmptyEntries);

for (int i = 0; i < values.Length; i++)
   if (textBoxes.Count < i) // also you can ensure you have textBox for value
       textBoxes[i].Text = values[i];
string cellValue=“一;二;三”;
var values=cellValue.Split(新[]{';'},StringSplitOptions.RemoveEmptyEntries);
for(int i=0;i
我假设您只想从DataGridView中的某些单元格中提取值并将这些值放在文本框中,是否正确?我想从DataGridView中的一个单元格提取到更多带有分隔符的文本框;我在texbox列表中使用该选项,但当我在索引中填充最后一个texbox调用错误时。。。数组的最后一个索引是“”,可能有bug,或者最后有一个bug;并拆分添加一个数组索引和应用程序关闭down@user2641465使用
StringSplitOptions。删除mptyentries
以避免空值并添加texbox计数检查
string cellValue = "one;two;three";
var values = cellValue.Split(new[] {';'}, StringSplitOptions.RemoveEmptyEntries);

for (int i = 0; i < values.Length; i++)
   if (textBoxes.Count < i) // also you can ensure you have textBox for value
       textBoxes[i].Text = values[i];