2009-05-15 7 views
2

J'ai 10 zones de texte et j'ai besoin de sélectionner le texte de chacune d'entre elles. Le problème est que je ne peux pas sélectionner le texte de plusieurs zones de texte. Y at-il une solution à ce problème mon code est.Sélectionner du texte à partir de plusieurs zones de texte simultanément

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

Êtes-vous certain de ne pas sélectionner le texte dans la 2ème zone de texte? est-il possible que le texte soit sélectionné, vous ne le voyez pas comme sélectionné puisque le contrôle n'est pas au point? Quel est le but de la sélection? – j0tt

+0

J'essaie de créer la sélection de texte rectangulaire – Woland

Répondre

4

Définissez la propriété HideSelection des texboxes sur false. Ils maintiendront la sélection après avoir perdu le focus.

0

Ceci est peut-être ne fonctionne pas parce que même si vous avez ajouté les instances de TextBox au formulaire, ils ne sont pas encore affichés. Jusqu'à ce qu'ils soient affichés et rendus au début, il est probablement impossible de lancer une sélection sur eux.

+0

non je peux choisir de la première zone de texte mais pas des autres – Woland

1

Une seule commande peut avoir une "Focus" à la fois ... vous ne pouvez pas sélectionner (c'est-à-dire: surligner) le texte de plusieurs contrôles.

Je viens aussi de tester en ajoutant un bouton au formulaire et j'ai posté vos 3 extraits "select" là aussi ... rien n'a été mis en évidence. Cependant, quand j'ai fait un TAB à travers chaque contrôle, les 3 premiers ont respectueusement montré la section en surbrillance. Lorsque j'ai tabulé le reste, le champ entier du reste des zones de texte a été entièrement sélectionné.

Ou êtes-vous vraiment essayer d'accomplir quelque chose d'autre ...

+0

J'essaie de créer la sélection de texte rectangulaire – Woland

1

Le texte est sélectionné, vous ne pouvez pas le voir cause de mise au point. J'ai couru votre code et après avoir tabulé à travers les contrôles. Les 3 premiers sont sélectionnés comme spécifié.

0

En fait, le problème est que les 2 autres de vos zones de texte ([1] et [2]) n'ont pas de focus. Un seul contrôle peut avoir un focus à la fois. Si vous cliquez sur l'onglet pour activer le prochain TextBox, le texte sera sélectionné.

Questions connexes