在C/S模式中 如何判断 当前光标在那个控件上 我有5个textbox1个 按钮 我想对这5个按钮 分别 赋当前时间, 就是不同的时间当光标在任意一个textbox上 点按钮该textbox就出现当前时间这该怎么实现呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 到底是5个TextBox还是5个按钮? 实在不行的话,循环Controls,看哪一个Focused属性为真,再判断是按钮还是文件框 "当光标在任意一个textbox上 点按钮该textbox就出现当前时间"这样的话如果TextBox1有光标,但是你点际了按钮后就没有了建议你在TextBox获得光标的时候记录到一个变量里面去点际按钮的时候根据这个变量来设置相应的TextBox foreach(Control c in this.Controls ){ if(c.Focused = true) { return c;//这个C就是你要的. }} private void button3_MouseEnter(object sender, EventArgs e) { }不清楚你到底是要button还是textbox但是mouseEnter事件的时候你将你的sender获取就可以判断了 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(); } foreach (Control c in this.Controls) { if (c is TextBox) {//这样可以找到 textbox // if(true==c.Focused) //但是这样找不到 那个是当前获得焦点的那个 c.Text = "heee"; } } 给每个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();} 在每个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"); } } 同意3楼的观点.也可以在TextBox失去光标时记录一下最后失去光标的是哪一个对象.当点按钮时在该对象上显示当前时间. 各位的方法是真好啊 可是我是在PDA上面使用 上面没有MouseEnter事件啊汗 你PDA是什么操作系统?什么牌子的,你不说,别人很难知道. 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();} 水晶报表怎样绑定未知列 如何旋转 emf 矢量图 winform程序如何在安装后立即运行! c#如何发送邮件 帮忙看段代码急 提问C#不能做而VC++能做的事? 100分求升级到vs.net2005的理由 请SQL高手来一下,,不晓得有没有可能实现这种SQL语句. 怎么样把图片的路径插入到access表中?急……???(2) D:\web\gaoji\Supplier.aspx.cs(139): “gaoji.DataSet1”并不包含对“Table”的定义 谁帮帮我,谢谢 谁有Interop.word.dll文件?? c# winform 为什么有时候无法隐藏窗口?
这样的话如果TextBox1有光标,但是你点际了按钮后就没有了
建议你在TextBox获得光标的时候记录到一个变量里面去
点际按钮的时候根据这个变量来设置相应的TextBox
{
if(c.Focused = true)
{
return c;//这个C就是你要的.
}
}
{ }
不清楚你到底是要button还是textbox但是mouseEnter事件的时候你将你的sender获取就可以判断了
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();
}
foreach (Control c in this.Controls)
{
if (c is TextBox)
{//这样可以找到 textbox
// if(true==c.Focused) //但是这样找不到 那个是当前获得焦点的那个
c.Text = "heee";
}
}
然后定义一个全局的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();
}
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");
}
}
也可以在TextBox失去光标时记录一下最后失去光标的是哪一个对象.当点按钮时在该对象上显示当前时间.
各位的方法是真好啊 可是我是在PDA上面使用 上面没有MouseEnter事件啊汗
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();
}