我有5个textbox1个 按钮  我想对这5个按钮 分别 赋当前时间, 就是不同的时间当光标在任意一个textbox上 点按钮该textbox就出现当前时间这该怎么实现呢?

解决方案 »

  1.   

    到底是5个TextBox还是5个按钮?
      

  2.   

    实在不行的话,循环Controls,看哪一个Focused属性为真,再判断是按钮还是文件框
      

  3.   

    "当光标在任意一个textbox上 点按钮该textbox就出现当前时间"
    这样的话如果TextBox1有光标,但是你点际了按钮后就没有了
    建议你在TextBox获得光标的时候记录到一个变量里面去
    点际按钮的时候根据这个变量来设置相应的TextBox
      

  4.   

    foreach(Control c in this.Controls )
    {
       if(c.Focused = true)
       {
          return c;//这个C就是你要的.
       }
    }
      

  5.   

      private void button3_MouseEnter(object sender, EventArgs e)
            {        }
    不清楚你到底是要button还是textbox但是mouseEnter事件的时候你将你的sender获取就可以判断了
      

  6.   

     Control c=null;
            private void button1_MouseEnter(object sender, EventArgs e)
            {
                c = this.ActiveControl;
            }        private void button1_Click(object sender, EventArgs e)
            {
                if (c is TextBox)
                    ((TextBox)c).Text = DateTime.Now.ToString();
            }
      

  7.   


                foreach (Control c in this.Controls)
                {
                    if (c is TextBox)
                    {//这样可以找到 textbox
                      // if(true==c.Focused) //但是这样找不到 那个是当前获得焦点的那个
                            c.Text = "heee";
                    }
                } 
      

  8.   

    给每个TextBox加上Enter事件,可以挂在一个方法下
    然后定义一个全局的TextBox
    在Enter事件中给这个TextBox赋值
    然后在Btn的Click中直接给全局的TextBox赋值就可以了
    大致代码如下private TextBox textBox;
    TextBox_Enter()
    {
        this.textBox = sender as TextBox;
    }
    btn_Click()
    {
        if (this.textBox != null) this.textBox.Text = DateTime.Now.ToString();
    }
      

  9.   

    在每个TextBox的MouseDown设置为tb_MouseDown, 然后在code中加入.        TextBox _TempTextBox = null;
            private void tb_MouseDown(object sender, MouseEventArgs e) {
                _TempTextBox = (TextBox)sender;
            }        private void button1_Click(object sender, EventArgs e) {
                if (_TempTextBox != null) {
                    _TempTextBox.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                }
            }
      

  10.   

    同意3楼的观点.
    也可以在TextBox失去光标时记录一下最后失去光标的是哪一个对象.当点按钮时在该对象上显示当前时间.
      

  11.   


    各位的方法是真好啊 可是我是在PDA上面使用 上面没有MouseEnter事件啊汗
      

  12.   

    你PDA是什么操作系统?什么牌子的,你不说,别人很难知道.
      

  13.   

    TextBox tb;
    private void Form1_Load(object sender, EventArgs e)
    {
        foreach (Control col in this.Controls)
        { 
            if(col is TextBox)
                col.GotFocus +=new EventHandler(col_GotFocus);
        }
    }        
    void col_GotFocus(object sender, EventArgs e)
    {
        tb = sender as TextBox;
    }
    private void button1_Click(object sender, EventArgs e)
    {
        tb.Text = DateTime.Now.ToString();
    }