请问怎么用C# WinForm开发类似微软的按钮控件,鼠标移到上面突出效果,并显示颜色,离开恢复正常。

如题所述

最简单的办法,修改Program.cs代码如下:
using System;
using System.Windows.Forms;

namespace RR
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form f = new Form();
Button btn = new Button();
btn.MouseMove += (e, v) => { btn.BackColor = System.Drawing.Color.Green; };
btn.MouseLeave += (e, v) => { btn.BackColor = System.Drawing.Color.White; };
f.Controls.Add(btn);
Application.Run(f);
}
}
}

如果想多次使用,则是一下步骤
首先建议类文件,代码如下:

using System.Windows.Forms;

namespace RR
{
public class MyButton:Button
{
public MyButton()
{
MouseMove += (e, v) => { BackColor = System.Drawing.Color.Green; };
MouseLeave += (e, v) => { BackColor = System.Drawing.Color.White; };
}
}
}

再新建一个窗体,编译一次以后,再工具箱里找到这个叫MyButton的控件拖到窗体上,或者直接在Program.cs里将代码修改如下:

using System;
using System.Windows.Forms;

namespace RR
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form f = new Form();
f.Controls.Add(new MyButton());
Application.Run(f);
}
}
}
run一下,就能看到效果!
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-10-07
private void button1_MouseMove(object sender, MouseEventArgs e)
{
this.button1.BackColor = System.Drawing.Color.Red;
}

private void button1_MouseLeave(object sender, EventArgs e)
{
this.button1.BackColor = this.BackColor;
}
突出效果可以尝试一下做一个背景图片试试。本回答被网友采纳
第2个回答  2012-02-01
按钮是有“鼠标进入”和“鼠标移出”事件的,VS有中文提示,可以找到这两个事件。
在第一个事件中将按钮设置成你想要的颜色样式,后一事件中改回原来的样式就OK
第3个回答  2012-02-01
1.silverlight是个不错的选择
2.纯程序的话捕捉鼠标位置获取控件对象判断相同位置改变控件的背景或者边框样式 这些都是控件的属性在属性栏里可以看到的都能够调用出来并赋予值 但是某些属性值是只读的或者是枚举这个要注意
第4个回答  2012-02-02
楼上说的都挺好

请问怎么用C# WinForm开发类似微软的按钮控件,鼠标移到上面突出效果,并...
Form f = new Form();f.Controls.Add(new MyButton());Application.Run(f);} } } run一下,就能看到效果!

C#,WINFORM中如何实现类似WORD工具栏中选择颜色按钮的效果?
同时还需要设置该控件的DrawMode和DropDownStyle属性,类似的控件Listbox也可按同样方法实现颜色选择,DrawMode属性为NORMAL时,有选中效果,但自己绘制的选项则不会出现选中效果,若想实现,可在DrawItem中加入一个状态判定,如:\/\/绘制选中效果 if ((e.State & DrawItemState.Selected) == DrawItemState...

c#应用程序怎么做鼠标经过按钮,按钮上出现图片的效果
这个winform里面 你用 button按钮,给按钮添加背景图片就行了,用 BackgroundImage 属性 设置背景图片,如果要让鼠标指针经过按钮的时候变化按钮图片,你给按钮添加事件 MouseMove,private void button1_MouseMove(object sender, MouseEventArgs e) { button1.BackgroundImage = new Bitmap("\/image\/_...

C#的winform. 有自动隐藏的控件吗?鼠标移过去再展开的
当鼠标移动到控件上面是显示,离开时隐藏可以这样做,先添加一个容器控件,比如panel 1然后在Panel中添加要隐藏的控件(比如button1),并设置button1控件初始状态为不可见,然后在panel1控件的鼠标事件处理函数中添加代码相应的代码控制button1的隐藏和显示。主要代码如下 \/\/鼠标进入时显示 private void pane...

C#中,当鼠标移动到按钮上时,按钮边框闪烁,鼠标移开时恢复正常,急...
如果是做WPF,修改一下Button的Template,加一个IsMouseOver的触发器就可以了;如果是WinForm,在MouseMove事件和MouseHover事件里面切换Button.BackgroundImage的图片。

请问C# winform如何实现将一个不规则形状的图片弄成按键?
您可以使用自定义控件来实现这种效果。首先,创建一个继承自System.Windows.Forms.Control的类,然后重写其OnPaint方法来绘制不规则形状的图片。然后,通过在控件上附加鼠标事件处理器,来切换显示图形A和图形B。以下是一个简单的代码示例:using System;using System.Drawing;using System.Windows.Forms;public...

C#怎么获取当前单击的控件名称,比如有100个Button 一个button_Click...
1、打开我们安装好的VS软件,并且新建一个winform窗口化程序。当然,c#语言还可以开发网页类软件。2、从左边的工具箱中的公共控件中拖一个button按钮到我们新建的winform程序界面上,命名为‘测试’。3、在按钮上双击两下,就进入到了这个控件的单击事件的代码编写页面。4、在选中按钮的时候,右边会出现该...

C# winform程序,saveFileDialog1如何用后台代码控制,不出现对话框,直接...
将一张图片上传到指定的文件夹,然后在窗体上的PictrueBox控件中显示出来,效果看图 代码如下:private void btnUpload_Click(object sender, EventArgs e){ \/\/创建一个对话框对象 OpenFileDialog ofd = new OpenFileDialog();\/\/为对话框设置标题 ofd.Title = "请选择上传的图片";\/\/设置筛选的图片格式...

相似回答