在C#窗体程序中,关于图标按钮,怎么实现鼠标按下后显示区别于鼠标离开、经过时显示的图标?
在C#窗体程序中,关于图标按钮,鼠标经过的时候会变换图片,鼠标一离开就会还原回来。可是如果我点击了某个按钮,就应该一直都是变换了颜色的呀,现在的问题是,不管我点没点那个图...
在C#窗体程序中,关于图标按钮,鼠标经过的时候会变换图片,鼠标一离开就会还原回来。可是如果我点击了某个按钮,就应该一直都是变换了颜色的呀,现在的问题是,不管我点没点那个图片,只要鼠标一离开,图片都会变回之前的了。
也就是在单击了之后,鼠标经过,离开都不再变换图标,直到点击了其它按钮时,刚才点击的按钮图标才变成鼠标离开时显示的图标。有什么办法能解决呢 ?
窗体加载时 :
private void frm_main_Load(object sender, EventArgs e)
{
button1.Image = Image.FromFile(Application.StartupPath +"\\button1_1.png");
}
鼠标滑过button1时:
private void button1_MouseMove(object sender, EventArgs e)
{
button1.Image = Image.FromFile(Application.StartupPath +"\\button1_2.png");
}
鼠标离开时:
private void button1_MouseLeave(object sender, EventArgs e)
{
button1.Image = Image.FromFile(Application.StartupPath +"\\button1_1.png");
}
当单击鼠标时我是这样写的:
private void button1_Click(object sender, EventArgs e)
{
button1.Image = Image.FromFile(Application.StartupPath +"\\button1_3.png");
}
但是像我这样写的话,运行的时候单击时并不会显示button1_3.png,显示的还是button1_2.png,也就是鼠标滑过时显示的图标,而且鼠标离开时会显示button1_1.png。
请问要怎么改才能在单击后显示button1_3.png,并且鼠标离开、滑过都不会再变换图标,直到单击了其他的button按钮,比如button2,那button2的单击代码要怎么写呢?
private void button2_Click(object sender, EventArgs e)
{
//这里要怎么写?
}
请详细一点讲解,并且附上代码,谢谢指导! 展开
也就是在单击了之后,鼠标经过,离开都不再变换图标,直到点击了其它按钮时,刚才点击的按钮图标才变成鼠标离开时显示的图标。有什么办法能解决呢 ?
窗体加载时 :
private void frm_main_Load(object sender, EventArgs e)
{
button1.Image = Image.FromFile(Application.StartupPath +"\\button1_1.png");
}
鼠标滑过button1时:
private void button1_MouseMove(object sender, EventArgs e)
{
button1.Image = Image.FromFile(Application.StartupPath +"\\button1_2.png");
}
鼠标离开时:
private void button1_MouseLeave(object sender, EventArgs e)
{
button1.Image = Image.FromFile(Application.StartupPath +"\\button1_1.png");
}
当单击鼠标时我是这样写的:
private void button1_Click(object sender, EventArgs e)
{
button1.Image = Image.FromFile(Application.StartupPath +"\\button1_3.png");
}
但是像我这样写的话,运行的时候单击时并不会显示button1_3.png,显示的还是button1_2.png,也就是鼠标滑过时显示的图标,而且鼠标离开时会显示button1_1.png。
请问要怎么改才能在单击后显示button1_3.png,并且鼠标离开、滑过都不会再变换图标,直到单击了其他的button按钮,比如button2,那button2的单击代码要怎么写呢?
private void button2_Click(object sender, EventArgs e)
{
//这里要怎么写?
}
请详细一点讲解,并且附上代码,谢谢指导! 展开
3个回答
展开全部
设置一个把所有button背景变回原来的方法
private void SetAllButton()
{
bt1.backimage="";
或者bt1.backcolor=---
bt2
bt3
等等
}
在所有button鼠标点击事件中加这个方法,再在所有鼠标cilick事件中,把本点击的button的背景图片或背景颜色修改;
private void SetAllButton()
{
bt1.backimage="";
或者bt1.backcolor=---
bt2
bt3
等等
}
在所有button鼠标点击事件中加这个方法,再在所有鼠标cilick事件中,把本点击的button的背景图片或背景颜色修改;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
。。既然你要这样做button不如直接放一个label上去在label中加图片自制button 设置click事件
mousein事件 mouseleave事件
再设一个bool值用于判断是否处于被点击状态
bool clicked=false;
private void label2_Click(object sender, EventArgs e)
{
clicked=true;
label2.Image = Image.FromFile(Application.StartupPath +"\\button1_3.png");
}
在mousein和leave事件里加入clicked的判断
mousein事件 mouseleave事件
再设一个bool值用于判断是否处于被点击状态
bool clicked=false;
private void label2_Click(object sender, EventArgs e)
{
clicked=true;
label2.Image = Image.FromFile(Application.StartupPath +"\\button1_3.png");
}
在mousein和leave事件里加入clicked的判断
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询