c# form编程TextBox如何具有MouseEnter事件?

来源:百度知道 编辑:UC知道 时间:2024/03/28 16:19:47
c# form编程,我想在鼠标进入TextBox空间使TextBox背景色改变。如何实现?

VC#的IDE默认TextBox没有MouseEnter事件,所以无法用下面此类代码:
this.TextBox.MouseEnter+=new System.EventHandler(TextBox_MouseEnter);

可以自定义TextBox控件,重写MouseEnter,但是此MouseEnter只是值TextBox周围一圈很小的区域,如果鼠标进入TextBox内部,则自动调用了MouseLeave事件,使背景色又变回去了。
有没有方法使鼠标进入TextBox内部,而不出发MouseLeave事件?

我用的是VC#2005.
有知道的高手还望指教,不用详细代码,点到即可。谢谢
搞错了,是NumericUpDown

我很纳闷..2005怎么会没有MouseEnter事件.你肯定弄错了.直接写
private void textBox1_MouseEnter(object sender, EventArgs e)
{
this.textBox1.BackColor = Color.Black;
}
另外..MouseLeave事件是自动调用的..如果你不指定这个事件,又用代码去控制,何来触发?

也许我理解错了,请来补充

写在TextBox的MouseHover事件里就可以了.
鼠标离开也不会改会颜色.
private void txtChange_MouseHover(object sender, EventArgs e)
{
txtChange.BackColor = Color.Aqua;
}

//这个就是鼠标移出去,就变回原来的那个背景颜色白色
void TextBox1MouseLeave(object sender, EventArgs e)
{
textBox1.BackColor=Color.White;
}

//FrmTest.Designer.cs 的那个textBox1中添加如下
this.textBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.TextBox1MouseLeave);