2014-01-29 5 views
-2

Я хочу, чтобы текст содержал TextBox для разделения на соответствующее лицо Textbox, несущего один символ, используя форму приложения C# windows.Разделить содержимое текстового поля на соответствующие отдельные текстовые поля во время выполнения в C#?

Например: Один Textbox, содержащий текст как- [Orange]

Ожидаемые результаты: - в 20 отдельных текстовых

[о] [г] [а] [п] [г] [е ] [] [] [] [] [] [] [] [] [] [] [] [] [] []

До сих пор я сделал это ..

`имя строки = textBox1 .Текст; строка str = имя; int chunkSize = 1; Int32 stringLength = str.Length;

 for (int i = 0; i < stringLength; i += chunkSize) 
     { 
      TextBox txtbox = new TextBox(); 
      //if (i + chunkSize > stringLength) 
      //chunkSize = stringLength - i; 

      string singlechar = str.Substring(i, chunkSize); 

       txtbox.TextAlign = HorizontalAlignment.Center; 
       txtbox.BorderStyle = BorderStyle.FixedSingle; 
       txtbox.Font = new Font(txtbox.Font, FontStyle.Bold); 
       txtbox.Text = singlechar; 
       //txtbox.MaxLength = 1; 
       int a = 30; 
       int x = (i + 10) * a; 
       txtbox.Text = txtbox.Text.ToUpper(); 
       txtbox.Location = new System.Drawing.Point(x, 100); 
       txtbox.BackColor = Color.White; 
       txtbox.Size = new System.Drawing.Size(30, 20); 
       this.Controls.Add(txtbox); 
}` 
+3

Что вы пробовали? С чем вы столкнулись? Вы спрашиваете, как проверить символы в строке? – SLaks

+0

Почему 20 отдельных текстовых полей? –

+2

@ ps06756: Это, вероятно, назначение класса. Высокие неясные требования, не подлежащие погашению. –

ответ

0

Я думаю, что вы хотите: -

textBox1 = mainTextBox.Text[0] ; 
textBox2 = mainTextBox.Text[1] ; 
    // and so on.. 
0

при прочих TextBox с в Panel именованные panel1 вы можете написать что-то вроде:

for (int i = 0; i < textBox1.Text.Length; i++) 
       ((TextBox)panel1.Controls[i]).Text = textBox1.Text[i].ToString(); 
+0

@ ps06756 это не сработает логично, это утомительно. – user3249843

Смежные вопросы