Creation de textbox

Résolu
cs_wally88 Messages postés 361 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 1 octobre 2010 - 25 oct. 2006 à 14:29
cs_wally88 Messages postés 361 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 1 octobre 2010 - 26 oct. 2006 à 13:11
Bonjour je souhaitais une reponse par rapport au post la : http://www.csharpfr.com/infomsg_CREATION-TEXTBOX_377014.aspx
pour créer des textbox dynamiquement car je n'arrive a en faire qu'une seule :/

private
void FactureAjouter_Load(
object sender,
EventArgs e)
{

int xPos = 365;

const
int GAP = 10;

TextBox TextBox =
new
TextBox();
TextBox.Location =
new System.Drawing.
Point(xPos, 70);
xPos += 120 + GAP;
TextBox.Name =
"textBox1";
TextBox.Size =
new System.Drawing.
Size(200, 20);
TextBox.TabIndex = 1;
TextBox.Text =
"";
Controls.Add(TextBox);
}

private
void textBox1_TextChanged(
object sender,
EventArgs e)
{

int xPos = 365;

int yPos = 70;

const
int GAP = 10;

const
int GOP = 25;

TextBox TextBox =
new
TextBox();
extBox.Location =
new System.Drawing.
Point(xPos, yPos);
xPos += 120 + GAP;
yPos += 70 + GOP;
TextBox.Name =
"textBox1";
TextBox.Size =
new System.Drawing.
Size(200, 20);
TextBox.TabIndex = 1;
TextBox.Text =
"";
ontrols.Add(TextBox);
}

Merci.

12 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 oct. 2006 à 13:05
private int _currentHeight = 0;





privatevoid
Form_Load(object sender, EventArgs e)
{
   this.CreateTextBox();
}




private
void CreateTextBox()
{
   this._currentHeight += 50;
   TextBox tx = newTextBox();
   tx.GotFocus += newEventHandler(tx_GotFocus);
   tx.Location = newPoint(60, this._currentHeight);
  this.Controls.Add(tx);
}





private
void tx_GotFocus(object sender, EventArgs e)
{
   this.CreateTextBox();
}













<hr size="2" />



-Blog-
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
25 oct. 2006 à 14:47
Peut-être quelque chose comme ceci :



const



int
NBTEXTBOX = 9;


for
(

int
i = 0; i < NBTEXTBOX; i++)
{
  

TextBox
tx =

new



TextBox
();
   tx.Location =

new



Point
(70, 20 + i * 30);
  

this
.Controls.Add(tx);
}











<hr size="2" />



-Blog-
0
cs_wally88 Messages postés 361 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 1 octobre 2010
25 oct. 2006 à 14:56
Merci mais non se n'est pas sa :/ car la il crée tout d'un coup les 9 d'un coup hors moi je veux qu'il crée une textbox au moment des le moment ou l'on ecris qqchose dans la précédente.

 
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
25 oct. 2006 à 15:06
Bah, ça change pas grand chose. On aurait donc qqch comme ceci :

private
void Form_Load(
object sender,
EventArgs e)
{
  
this.CreateTextBox();
}

private
void CreateTextBox()
{
  
this._currentHeight += 50;
  
TextBox tx =
new
TextBox();
   tx.GotFocus +=
new
EventHandler(tx_GotFocus);
   tx.Location =
new
Point(60,
this._currentHeight);
 
this.Controls.Add(tx);
}

private
void tx_GotFocus(
object sender,
EventArgs e)
{
  
this.CreateTextBox();
}

<hr size="2" />-Blog-
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_wally88 Messages postés 361 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 1 octobre 2010
25 oct. 2006 à 23:18
Alors moi j'ai fais sa :

private void FactureAjouter_Load(object sender, EventArgs e)
        {
            this.Height += 50;
            TextBox tx = new TextBox();
            tx.TextChanged += new EventHandler(tx_TextChanged);
            tx.Location = new Point(60, Int32.Parse(this.CurrentAutoScaleDimensions.Height.ToString()));
            this.Controls.Add(tx);
        }

private void tx_TextChanged(object sender, EventArgs e)
        {
            int xPos = 50;
            int yPos = 50;

            TextBox tx = new TextBox();
            tx.TextChanged += new EventHandler(tx_TextChanged);
            tx.Location = new Point(xPos, yPos);
            xPos = xPos + 50;
            yPos = yPos + 50;
            this.Controls.Add(tx);
        }

Le soucis etant qu'il me crée bien ma premiere textbox, lorsque je commence a ecrire qqchose dedans il me crée bien la deuxieme mais quand j'ecris dans la deuxième, il ne me crée pas la troisième :s.
Merci de vous interressez à mon cas.
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 oct. 2006 à 10:38
Utilise le morceau de code que je t'ai donné, ça fonctionne, j'ai testé...

<hr size="2" />-Blog-
0
cs_wally88 Messages postés 361 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 1 octobre 2010
26 oct. 2006 à 11:55
Je suis sous Visual Studio C# Express et le "this._currentHeight += 50;" et "GotFocus " il a pas l'air de connaitre.
Merci pour ton aide.
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 oct. 2006 à 12:21
_currentHeight est une variable de type int déclaré dans la form.
GotFocus est un event qui appartient à la TextBox (peut-être pas dispo avec framework 1.1, je ne sais plus).

<hr size="2" />-Blog-
0
cs_wally88 Messages postés 361 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 1 octobre 2010
26 oct. 2006 à 12:23
Je suis avec le framework 2, je vais continuer a chercher merci.
0
cs_wally88 Messages postés 361 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 1 octobre 2010
26 oct. 2006 à 12:29
ne contient pas de definition pour '_currentHeight'. C'est la seul chose qui bloque
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
26 oct. 2006 à 12:49
ta troisieme textbox est bien créée mais elle est cachée sous la deuxieme.....modifie la position a chaque fois, pas uniquement une fois (la premiere est en 50;50, toutes les suivantes en 100;100, les une en dessous des autres).
0
cs_wally88 Messages postés 361 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 1 octobre 2010
26 oct. 2006 à 13:11
Ah bah oui fallait la declarer... desolé. Merci beaucoup. Maintenant faut que je vois pour additionner toutes les valeur des textbox créer mais la je vais chercher. Enorme merci.
0
Rejoignez-nous