ayuda con un boton y textbox en c#

Iniciado por obser, 13 Junio 2010, 23:58 PM

0 Miembros y 2 Visitantes están viendo este tema.

obser

bueno tengo problema con un boton...
tengo dos textbox y quiero introducir en cada uno de ellos la hora del sistema.
mejor explicado:

si doy click con el mouse en el textbox1 y luego presiono el boton de "añadir hora" en ese textbox1 mostrara la hora actual del sistema(ejemplo 5:35pm)
despues , si por ejemplo pasan 5 minutos y doy click ahora en el textbox2 y vuelvo a presionar el boton debe agregar la hora actual..(ejemplo 5:40pm)

para que introduzca la hora estoy usando este codigo
textbox1.text = DateTime.Now.ToString("hh:mm tt");

pero eso solo funciona para el primer textbox

para el segundo textbox tendria que hace otro boton y seria asi:
textbox2.tex = DateTime.Now.ToString("hh:mm tt");

lo que yo quiero es que solo con un mismo boton sirva para cualquier textbox en el que yo quiera introducir la hora....

espero quede bien explicado...
necesito ayuda por favor...

Shell Root

Podrías verificar si el TextBox1, contiene algún valor. Es decir,
Código (csharp) [Seleccionar]
// En el Button
if(TextBox1.lenght > 0){
 TextBox1.text = DateTime.Now.ToString("hh:mm tt");
}else{
 TextBox2.text = DateTime.Now.ToString("hh:mm tt");
}
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

obser

me da un error en la parte de lenght
mira asi se llaman mis textbox:


           if (inicioEQ1.lenght > 0)
            {
                inicioEQ1.Text = DateTime.Now.ToString("hh:mm tt");
            }
            else
            {
                finalEQ1.Text = DateTime.Now.ToString("hh:mm tt");
            }


pero alguien me dijo que tenia que usar algo asi como eventos en el boton...
sabes algo de eso?
por que no solo son 2 textbox son mas y segun con eventos puedo hacerlo pero no entiendo como....
soy principiante en esto de windows forms
pero si conozco de c, c++ y c# pero en consola...
gracias por la ayuda
nota: utilizo MS visual studio 2008

Shell Root

xD, joder, es que hace mucho tiempo que no toco C#, ni VB. Pero entonces es así:

Código (csharp) [Seleccionar]
if(inicioEQ1.Text.Length > 0){
  inicioEQ1.Text = DateTime.Now.ToString("hh:mm tt");
}else{
  finalEQ1.Text = DateTime.Now.ToString("hh:mm tt");
}
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

obser

si exacto..
logre corregirlo tambien poniendo el Text...tambien lo habia olvidado
bueno si no es molestia...
ahora como se pueden restar esas dos horas?
estuve buscando y segun se puede con timeSpan pero cuando lo compilo tira error en el simbolo "-" , dice que no se puede aplicar ese tipo de operadores a los textbox..
podrias ayudarme?

43H4FH44H45H4CH49H56H45H

#5
Se puede hacer asi tb:
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
   public partial class Form1 : Form
   {
       int but = 0;
       public Form1()
       {
           InitializeComponent();
       }

       private void button1_Click(object sender, EventArgs e)
       {
           switch (but)
           {
               case 1:
                   textBox1.Text = DateTime.Now.ToString("hh:mm tt");
                   break;
               case 2:
                   textBox2.Text = DateTime.Now.ToString("hh:mm tt");
                   break;

           }
       }

       private void textBox1_Click(object sender, EventArgs e)
       {
           but = 1;

       }

       private void textBox2_Click(object sender, EventArgs e)
       {
           but = 2;
       }
       
   }
}


Asi a cualquier textbox al que se haga click mostrara la hora actual.
No es conveniente usar variables globales para algo asi, pero para hacer un ejemplo...
La resta se puede hacer asi:
Código (csharp) [Seleccionar]
DateTime date1 = DateTime.Parse(dateString);
TimeSpan resul = DateTime.Now.Subtract(date1);


Donde dateString es un string concatenado con la fecha corta actual, hora, minuto y segundo.
Asi resul puede obtener la diferencia en horas, minutos y segundos.

-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W

Psyke1

Oye chicos que esto es el foro de vb... :-\

43H4FH44H45H4CH49H56H45H

Sip, solo esperar a que el moderador lo mueva  ;D

-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W

obser

#8

EDITO:

ya lo solucione:

para el que le interese les dejo lo que hice:

hice un boton que me calcule la diferencia de las dos horas y este es el codigo:

Citar

            DateTime inicio = DateTime.Parse(inicioEQ1.Text);
            DateTime final = DateTime.Parse(finalEQ1.Text);
            TimeSpan diff = final.Subtract(inicio);
            tiempoEQ1.Text = diff.ToString();


gracias por su ayuda a todos....