我创建了一个派生自Form.Button的类HoverButton。在这里,我重写了OnMouseEnter / OnMouseLeave事件。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace DSLiteWizardLib
{
class HoverButton : Button
{
#region Constructor
public HoverButton()
{
InitializeComponent();
bMouseHover = false;
}
#endregion
#region Methods
private void OnMouseEnter(object sender, System.EventArgs e)
{
bMouseHover = true;
}
private void OnMouseLeave(object sender, System.EventArgs e)
{
bMouseHover = false;
}
private void InitializeComponent()
{
this.MouseEnter += new System.EventHandler(this.OnMouseEnter);
this.MouseLeave += new System.EventHandler(this.OnMouseLeave);
}
}
}
最终我想为悬停状态,按下状态等传递图像。
如何让我的表单上的按钮使用我的HoverButton类而不是标准的Form.Button类?
答案 0 :(得分:2)
如果您使用单独的程序集来存储控件,则可以右键单击控件工具栏并为程序集添加项目。然后,您可以像任何其他内置控件一样拖放控件。
如果您正在寻找一些不那么优雅的东西,您可以进入Designer.cs文件并将按钮的类型从Button更改为HoverButton。
答案 1 :(得分:1)
How to add and create a Usercontrol in Visual Studio 2008
注意:要使控件自动显示在工具箱中,请确保在VS中设置此选项:
工具>选项> Windows窗体设计器>一般:AutoToolboxPopulate
答案 2 :(得分:0)
如果您在表单设计器中查看工具箱,您应该会看到您创建的HoverButton。 (成功构建课程之后。)然后将其拖动到表单上,就像常规按钮一样。