专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > .NET组件控件

关于一个自定义控件的有关问题

发布时间:2011-06-24 19:14:11 文章来源:www.iduyao.cn 采编人员:星星草
关于一个自定义控件的问题
新建一个控件库,然后在里面拖放一个button按钮,再给这个按钮添加mouseenter事件,代码如下:
C# code
LinearGradientBrush brush = new LinearGradientBrush(button1.ClientRectangle, Color.Red ,
                Color.Brown ,LinearGradientMode.ForwardDiagonal);
            Graphics g = button1.CreateGraphics();
            g.FillRectangle(brush, button1.ClientRectangle);
            g.Dispose();

为什么当执行的时候就是没法显示呢?

------解决方案--------------------
添加自定义控件继承于Button类,然后添加MouseEnter,MouseLeave。重写OnPaint事件
bool _enter=false;
void testButton_MouseLeave(object sender, EventArgs e)
{
_enter = false;
}

void testButton_MouseEnter(object sender, EventArgs e)
{
_enter = true;
}



protected override void OnPaint(PaintEventArgs pevent)
{
base.OnPaint(pevent);
if (_enter)
{
LinearGradientBrush brush = new LinearGradientBrush(this.ClientRectangle, Color.Red,
Color.Brown, LinearGradientMode.Horizontal);
Graphics g = pevent.Graphics;
g.FillRectangle(brush, this.ClientRectangle);
}

}
------解决方案--------------------
C# code
private bool _enter;
        protected override void OnMouseEnter(EventArgs e)
        {
            _enter = true;
            base.OnMouseEnter(e);
        }
        protected override void OnMouseLeave(EventArgs e)
        {
            _enter = false;
            base.OnMouseLeave(e);
        }
        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
        }
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • 虚心求教解决思路

    虚心求教 本人刚学.net,有好多的问题明白,求大侠帮忙解释一下这个问题,本人不胜感激。 <asp:TreeNode Text="添加" Value="添加"...

  • 【】.NET里有“关于”对话框组件吗

    【求助】.NET里有“关于”对话框组件吗? 小弟最近在用C#写东西,程序已经基本完工了,现在是想弄一个“关于”对话框,就是通常在“帮助...

  • VS2005 控件在winform下只能拖放,不能移动,该怎么解决

    VS2005 控件在winform下只能拖放,不能移动 VS2005 控件在winform下只能拖放,不能移动;在webform下直接拖放都不行.只能从工具箱里...

  • select控件解决方案

    select控件 怎样在select框中显示图片?并且选择一个图片后可以显示在文本框中。请高手指点一下,最好详细一些!有实现的代码更好!!谢谢...

  • devExpress 控件能否将其它文件转换成PDF,该怎么处理

    devExpress 控件能否将其它文件转换成PDF 1..devExpress 控件能否将其它文件转换成PDF(编程的方式自动转换)2.能否在指定位置给现...

  • 初学者求助,关于学习的方法

    菜鸟求助,关于学习的方法 我们刚开始学C#窗体控件,有哪位大虾能给提点学习这方面的建议 ------解决方案-------------------- 找...

  • 关于VS2005添加自定义控件DLL,该怎么解决

    关于VS2005添加自定义控件DLL 我在工具箱里点选择项,浏览dll文件,点确定,但是工具箱里没有显示我选择的控件 ------解决方案-------...

  • fullcalendar怎么绑定数据源

    fullcalendar如何绑定数据源 我做OA的日程安排功能,用的fullcalendar控件,第一次接触各种不会 我想让fullcalendar从绑定的数据源...

  • 求人解答窗口间传递数值有关问题

    求人解答窗口间传递数值问题 我想做的是在Form1里textbox输入字符串或者数字,然后Form2里的 label1 能够显示出来 但是在两个...

  • C# 多项目互相调用

    C# 多项目相互调用 C#的解决方案中有多个项目(WinForm) 各项目都有自定义的组件、控件、公共变量 不同项目之间怎样相互调用、使...

热门推荐: