2009-05-15 4 views
2

У меня есть 10 текстовых полей, и мне нужно выбрать текст из каждого из них. Проблема в том, что я не могу выбрать текст из нескольких текстовых полей. Есть ли какие-либо решения для этой проблемы мой код.Выберите текст из нескольких текстовых полей одновременно

private void Form1_Load(object sender, EventArgs e) 
    { 
     createTextBoxes(10); 

     ((TextBox)textBoxes[0]).Select(1, 4); 
     ((TextBox)textBoxes[1]).Select(1, 4); // <- it will not select text 
     ((TextBox)textBoxes[2]).Select(1, 4); // same here 
    } 
    Control[] textBoxes; 
    private void createTextBoxes(int cnt) 
    { 
     textBoxes = new Control[cnt]; 
     for (int i = 0; i < cnt; i++) 
     { 
      TextBox tb = new TextBox(); 
      tb.Name = i.ToString(); 
      tb.Location = new Point(5, 5 + 14 * i); 
      tb.Size = new Size(600, 20); 
      tb.BorderStyle = BorderStyle.None; 
      tb.Text = "sample text" + i.ToString(); 
      textBoxes[i] = tb; 
      this.Controls.Add(tb); 
     } 
    } 
+0

Вы уверены, что он не выбирает текст во втором текстовом поле? возможно ли, что текст выбран, вы просто не видите его выбранным, поскольку элемент управления не находится в фокусе? Какова цель отбора? – j0tt

+0

я пытаюсь создать прямоугольный выбор текста – Woland

ответ

4

Установите свойство HideSelection для texboxes на false. Они будут поддерживать выбор после потери фокуса.

0

Это, возможно, не работает, потому что даже если вы добавили экземпляры TextBox в форму, они еще не были показаны. Пока они не будут отображаться и изначально отображаться, скорее всего, невозможно инициировать выбор на них.

+0

no я могу выбрать из первого текстового поля, но не из других – Woland

1

Только один элемент управления может иметь «Фокус» за один раз ... вы не можете выбрать (то есть: выделить) текст нескольких элементов управления.

Я также просто протестировал, добавив кнопку в форму и разместил там свои 3 «отбираемые» фрагменты ... ничего не было выделено. Однако, когда я делал ТАБ через каждый элемент управления, первые 3 почтительно показали выделенный раздел. Когда я вложил вклад в остальные, все поля остальных текстовых полей были полностью отобраны.

Или вы на самом деле пытаетесь сделать что-то еще ...

+0

я пытаюсь создать прямоугольный выбор текста – Woland

1

Текст выбран, вы просто не можете увидеть причину фокуса. Я запустил ваш код и сделал это с помощью элементов управления. Первые 3 выбираются так, как указано.

0

На самом деле, проблема в том, что другие 2 ваших текстовых поля ([1] и [2]) не имеют фокуса. Одновременно может фокусироваться только один элемент управления. Если вы нажмете вкладку, чтобы сосредоточиться на следующем TextBox, вы увидите выбранный текст.

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