2009-05-15 3 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

사각형 텍스트 선택을 creat하려고합니다 – Woland

답변

4

texboxes의 HideSelection 속성을 false로 설정하십시오. 그들은 초점을 잃은 후 선택을 유지할 것입니다.

0

이 가능성이 작동하지 않습니다. 디스플레이되고 처음 렌더링 될 때까지 선택을 시작할 수 없을 수도 있습니다.

+0

아니요 첫 번째 텍스트 상자에서 선택할 수 있지만 다른 사람은 선택할 수 없습니다 – Woland

1

한 번에 하나의 컨트롤 만 "포커스"를 가질 수 있습니다 ... 여러 컨트롤의 텍스트를 선택할 수 없습니다 (예 : 강조 표시).

또한 폼에 버튼을 추가하여 테스트 한 결과 3 개의 '선택'스 니펫도 게시되었습니다. 강조 표시된 부분이 없습니다. 그러나 각 컨트롤을 통해 TAB을 만들었을 때 처음 3 개 부분은 강조 표시된 부분을 정중하게 보여주었습니다. 나머지 탭을 클릭하면 나머지 텍스트 상자 전체가 완전히 선택되었습니다.

아니면 정말

+0

사각형 텍스트 선택을 작성하려고합니다. – Woland

1

텍스트는 그냥 초점의 원인을 볼 수없는 선택 ... 다른 뭔가를 달성하기 위해 노력하고 있습니다. 코드를 실행 한 후 컨트롤을 탭하여 실행했습니다. 처음 3 개가 지정된대로 선택됩니다.

0

실제로 문제는 텍스트 상자 ([1]과 [2])의 다른 2 개에는 포커스가 없다는 것입니다. 한 번에 하나의 컨트롤에만 포커스를 가질 수 있습니다. Tab 키를 눌러 다음 TextBox로 포커스를 이동하면 선택한 텍스트가 표시됩니다.

관련 문제