none
Alinhar textBox com base na posição de outro textBox RRS feed

  • Pergunta

  • Galera bom dia!

    Sou novo no forum e gostaria de saber como posso incluir um novo textBox com base na posição de outro textBox. Estou desenvolvendo um programa que já tenho um textBox fixo, porém vou ter situações que terei que incluir mais um ou dois, incluir o segundo não é problema, o problema é incluir o terceiro com base na posição do segundo. Outra coisa só posso ter em tela três textBox. Abaixo o código:

            private void button3_Click(object sender, EventArgs e){
                AddNovoTextBox();
            }
            public void AddNovoTextBox(){
                TextBox txt = new TextBox();
                if (contador < 3){
                    contador = contador + 1;
                    this.Controls.Add(this.txt);
                    this.txt.Location = new Point(6, 178);
                    this.txt.Size = new Size(470, 26);
                    this.txt.Font = new Font("Tahoma", 12F, System.Drawing.FontStyle.Regular);
                    this.txt.ForeColor = System.Drawing.Color.DarkGray;
                    this.txt.Name = "txt";
                    this.txt.ReadOnly = true;
                    this.txt.TabIndex = 1;
                    this.txt.Focus();
                }else{
                    MessageBox.Show("Limite 3 CB"); 
                }
            }

    Vocês conseguem me ajudar?


    • Editado RicardoJacob terça-feira, 24 de outubro de 2017 12:37
    terça-feira, 24 de outubro de 2017 12:20

Todas as Respostas

  • Boa tarde, RicardoJacob. Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosaemente,


    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 24 de outubro de 2017 20:07
    Moderador
  • Olá Felipe bom dia,

    Seria Break Fix/Erro, porque eu consigo adicionar mas não consigo apagar, dei uma mexida no código e ficou assim:

            private void button3_Click(object sender, EventArgs e)    {
                if (stCliques < 3){
                    altY += 55;
                    this.Controls.Add(this.AddtextBoxAdc(altY));
                    this.textBoxAdc.Focus();
                    stCliques++;
                }else{
                    MessageBox.Show("Limite 2");
                }
            }
            public TextBox AddtextBoxAdc(int position){
                TextBox textBoxAdc = new TextBox();
                this.textBoxAdc.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Regular);
                this.textBoxAdc.ForeColor = System.Drawing.Color.DarkGray;
                this.textBoxAdc.Size = new System.Drawing.Size(235, 26);
                this.textBoxAdc.Location = new System.Drawing.Point(alnX, altY);
                this.textBoxAdc.Name = "textBoxAdc" + position;
                this.textBoxAdc.ReadOnly = true;
                this.textBoxAdc.TabIndex = 1;
                return textBoxAdc;
            }

            private void button4_Click(object sender, EventArgs e){
                if (stCliques > 3){
                    Controls.RemoveAt(Controls.Count-1);
                    stCliques--;
                    altY -= 55;
                }else{
                    MessageBox.Show("Não é possivel remover");
                }

            }
    mas quando adiciono o novo textBox e ele é criado no Form, mas não carrega nenhum dos outros parâmetros de tamanho, posicionamento e cor.
    quarta-feira, 25 de outubro de 2017 12:27
  • Conseguiu Resolver Ricardo?

    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    domingo, 10 de dezembro de 2017 13:42
  • Olá Ricardo!

    Encontrei algo estranho no seu código.. No método "AddtextBoxAdc", você está instanciando um novo "textBoxAdc", porém, está setando as propriedades utilizando "this.textBoxAdc".. Ou seja, você já tem um atributo com o nome de "textBoxAdc" no seu formulário? Eu diria que sim, caso contrário o seu código nem compilaria..

    Enfim, eu tentaria remover esses "this." antes da configuração do TextBox novo.. Ou, melhor ainda, utilize algum outro nome para a variável que está sendo criada.. Dessa forma você não entra em conflito com o atributo do formulário..

    Abraço!


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    segunda-feira, 11 de dezembro de 2017 12:49
    Moderador