Batista15 Posted May 22, 2009 at 12:55 PM Report #266454 Posted May 22, 2009 at 12:55 PM boas, por exemplo tenho uma form para meter por exemplo o numero "5" depois clico numa seta e quero que noutra form distribuia "1" "2" "3" "4" "5" por as textboxs que tenho la! como fasso? Obrigado
duduml Posted May 22, 2009 at 01:03 PM Report #266457 Posted May 22, 2009 at 01:03 PM não dá para te explicares melhor????:S xD "use windows, você merece!"
Batista15 Posted May 22, 2009 at 01:10 PM Author Report #266460 Posted May 22, 2009 at 01:10 PM Tenho uma textbox numa form! Insiro o numero "2" ao clicar numa seta ira aparecer outra form em que queria que aparecesse em duas texbox o numero 1 numa e o numero 2 noutra! fiz-me entender?
duduml Posted May 22, 2009 at 01:13 PM Report #266465 Posted May 22, 2009 at 01:13 PM ou seja dependendo do numero terias de destribuir o mumero de algarismos até esse digito??' mesmo que seja com 1000??? "use windows, você merece!"
Batista15 Posted May 22, 2009 at 01:18 PM Author Report #266466 Posted May 22, 2009 at 01:18 PM ou seja dependendo do numero terias de destribuir o mumero de algarismos até esse digito??' mesmo que seja com 1000??? Sim até esse digito! Lol até 1000 não mas até 85 sim! 🙂
duduml Posted May 22, 2009 at 01:28 PM Report #266471 Posted May 22, 2009 at 01:28 PM hum.... se fizeres um ciclo... for each penso que dá para resolver a situação...🙂 "use windows, você merece!"
Batista15 Posted May 22, 2009 at 01:31 PM Author Report #266473 Posted May 22, 2009 at 01:31 PM hum.... se fizeres um ciclo... for each penso que dá para resolver a situação...🙂 Podes-me dar um exemplo? 🙂
duduml Posted May 22, 2009 at 01:41 PM Report #266475 Posted May 22, 2009 at 01:41 PM Dim numero As Integer numero = (nome da textbox onde inseres o numero) Dim i As Integer For i As Integer = 1 To numero 'instrução para abrir o form e por mais um numero... Next é simples... "use windows, você merece!"
duduml Posted May 22, 2009 at 01:42 PM Report #266476 Posted May 22, 2009 at 01:42 PM ups... esqueci-me de um pormenor.... a variavel i tem contar sempre mais um! xD "use windows, você merece!"
ribeiro55 Posted May 22, 2009 at 01:45 PM Report #266478 Posted May 22, 2009 at 01:45 PM ups... esqueci-me de um pormenor.... a variavel i tem contar sempre mais um! xD O ciclo FOR faz isso por ti. É para isso que ele serve, nestes propósitos. @Batista15, e tu tens lá essas 85 textboxes? Só por curiosidade, e quissá optimização, qual é o intuito desse formulário? Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips"
duduml Posted May 22, 2009 at 01:46 PM Report #266480 Posted May 22, 2009 at 01:46 PM ya....eu até mas esqueço!xD loool pois, no que toca a isso tb estou curioso...xD "use windows, você merece!"
Batista15 Posted May 22, 2009 at 01:50 PM Author Report #266481 Posted May 22, 2009 at 01:50 PM O ciclo FOR faz isso por ti. É para isso que ele serve, nestes propósitos. @Batista15, e tu tens lá essas 85 textboxes? Só por curiosidade, e quissá optimização, qual é o intuito desse formulário? Sim tenho! E uma folha de obra!
ribeiro55 Posted May 22, 2009 at 02:03 PM Report #266490 Posted May 22, 2009 at 02:03 PM Pois, mas não devias ter. :dontgetit: Era mais fácil se fossem adicionadas em runtime 🙂 Sendo assim, podes resolver o assunto aplicando este método: - Dá nomes a todas as textboxes no seguinte formato: TXi, onde i é o número da textbox. Por exemplo TX5, TX43, TX85, etc... - Cria este Private Sub: Private Sub ProcuraEPreencheCaixaDeTexto(ByVal Numero As Integer) For Each C As Control In Me.Controls If C.Name = "TX" & Numero Then Dim EstaTX As TextBox = CType(C, TextBox) EstaTX.Text = Numero.ToString End If Next End Sub Agora, para testares mete isto num botão, ou lá onde arrancas a funcionalidade: Dim NumeroMaximo As Integer = 3 For i As Integer = 1 To NumeroMaximo ProcuraEPreencheCaixaDeTexto(i) Next Nota que a variável NumeroMaximo representa o numero que tens lá na tal caixa de texto com o número. Dim numero As Integer numero = (nome da textbox onde inseres o numero) Dim i As Integer For i As Integer = 1 To numero 'instrução para abrir o form e por mais um numero... Next é simples... Só um reparo duduml, ao escreveres For i as Integer = 1, já a estás a declarar e até a inicializar. Não precisas do Dim i as Integer. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips"
Batista15 Posted May 22, 2009 at 02:08 PM Author Report #266492 Posted May 22, 2009 at 02:08 PM Dim numero As Integer numero = (nome da textbox onde inseres o numero) Dim i As Integer For i As Integer = 1 To numero 'instrução para abrir o form e por mais um numero... Next é simples... Isso e na seta! E agora na form onde quero que apareça os números distribuídos?
ribeiro55 Posted May 22, 2009 at 02:16 PM Report #266496 Posted May 22, 2009 at 02:16 PM Esse ciclo não te vai resolver nada... nothing personal duduml 😁 Acabei de escrever e testar a solução que te dei. Só não tinha reparado que era entre 2 forms, portanto aqui vai: No form onde tens a tal seta para distribuir o numero, metes isto na seta: (onde Form1 é substituído por o nome do form que tem as 85 textboxes) Dim NumeroMaximo As Integer = 2 Dim F1 As New Form1 F1.NumeroMax = NumeroMaximo F1.Show() Na form das 85 textboxes: (e não te esqueças de lhe dar nomes TX1, TX2, TX3, TX4, etc....) Private NumeroMaximo As Integer = 0 Public WriteOnly Property NumeroMax() Set(ByVal value) NumeroMaximo = value End Set End Property Private Sub Distribuí() For i As Integer = 1 To NumeroMaximo ProcuraEPreencheCaixaDeTexto(i) Next End Sub Private Sub ProcuraEPreencheCaixaDeTexto(ByVal Numero As Integer) For Each C As Control In Me.Controls If C.Name = "TX" & Numero Then Dim EstaTX As TextBox = CType(C, TextBox) EstaTX.Text = Numero.ToString End If Next End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Distribuí() End Sub A ideia é passar o numero a desmembrar através de uma propriedade e proceder ao preenchimento no arranque do form. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips"
Batista15 Posted May 22, 2009 at 02:25 PM Author Report #266498 Posted May 22, 2009 at 02:25 PM Esse ciclo não te vai resolver nada... nothing personal duduml 😁 Acabei de escrever e testar a solução que te dei. Só não tinha reparado que era entre 2 forms, portanto aqui vai: No form onde tens a tal seta para distribuir o numero, metes isto na seta: (onde Form1 é substituído por o nome do form que tem as 85 textboxes) Dim NumeroMaximo As Integer = 2 Dim F1 As New Form1 F1.NumeroMax = NumeroMaximo F1.Show() Na form das 85 textboxes: (e não te esqueças de lhe dar nomes TX1, TX2, TX3, TX4, etc....) Private NumeroMaximo As Integer = 0 Public WriteOnly Property NumeroMax() Set(ByVal value) NumeroMaximo = value End Set End Property Private Sub Distribuí() For i As Integer = 1 To NumeroMaximo ProcuraEPreencheCaixaDeTexto(i) Next End Sub Private Sub ProcuraEPreencheCaixaDeTexto(ByVal Numero As Integer) For Each C As Control In Me.Controls If C.Name = "TX" & Numero Then Dim EstaTX As TextBox = CType(C, TextBox) EstaTX.Text = Numero.ToString End If Next End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Distribuí() End Sub A ideia é passar o numero a desmembrar através de uma propriedade e proceder ao preenchimento no arranque do form. O código esta todo correcto mas não esta a trabalhar! E não me esqueci dos "TX"
duduml Posted May 22, 2009 at 02:30 PM Report #266504 Posted May 22, 2009 at 02:30 PM lool eu tb fiz no momento, mas penso que tb daria...xD CUMPS "use windows, você merece!"
Batista15 Posted May 22, 2009 at 02:35 PM Author Report #266505 Posted May 22, 2009 at 02:35 PM Falta algum bocado de codigo! Bem visto falta codigo onde esta a seta, que nem faz a verificação do numero que esta na textbox
ribeiro55 Posted May 22, 2009 at 02:36 PM Report #266506 Posted May 22, 2009 at 02:36 PM Então testa-o duduml. Sinceramente não estou a ver como resolves o problema dessa forma 🙂 Batista15, alguma coisa estás a fazer mal. Tenho-o à frente a funcionar. Os nomes que deste têm de ser com letra grande. TX é diferente de Tx ou de tx e até de tX. Verifica melhor, e se mesmo assim não conseguires, envio-te o projecto. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips"
Batista15 Posted May 22, 2009 at 02:37 PM Author Report #266507 Posted May 22, 2009 at 02:37 PM Então testa-o duduml. Sinceramente não estou a ver como resolves o problema dessa forma 🙂 Batista15, alguma coisa estás a fazer mal. Tenho-o à frente a funcionar. Os nomes que deste têm de ser com letra grande. TX é diferente de Tx ou de tx e até de tX. Verifica melhor, e se mesmo assim não conseguires, envio-te o projecto. Ja verifiquei todo! E ta mesmo tudo, não sei porque não está a fazer!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now