足球游戏_中国足彩网¥体育资讯$

c#自定义控件中事件的处理
来源:易贤网 阅读:2195 次 日期:2014-08-29 10:07:30
温馨提示:易贤网小编为您整理了“c#自定义控件中事件的处理”,方便广大网友查阅!

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace ClientControl

{

//1.定义委托

public delegate void NewsClickEventHandle(object sender,NewsEventArg args);

public partial class NewsStage : Control

{

//2.定义事件

public event NewsClickEventHandle NewsClicked;

private Graphics g;

private bool isMouseOn = false;

public NewsStage()

{

InitializeComponent();

//3.事件触发,这样少了事件注册,我们在其他窗体中引用控件时只需要注册事件和编辑事件处理程序即可,可以对比上一篇博客

this.Click += new EventHandler(NewsStage_Click);

this.MouseMove += new MouseEventHandler(NewsStage_MouseMove);

this.MouseLeave += new EventHandler(NewsStage_MouseLeave);

}

void NewsStage_MouseLeave(object sender, EventArgs e)

{

isMouseOn = false;

this.Invalidate();

}

void NewsStage_MouseMove(object sender, MouseEventArgs e)

{

isMouseOn = true;

this.Invalidate();

}

//新闻被点击 事件触发方法

void NewsStage_Click(object sender, EventArgs e)

{

if (_NewsID>=0&&_NewsTitle!="")

{

NewsEventArg myArgs = new NewsEventArg(_NewsID,_NewsTitle);

NewsClicked(this, myArgs);

}

}

private int _NewsID = 0;

[Description("新闻ID"), Category("Appearance")]

public int NewsID

{

get { return _NewsID; }

set

{

_NewsID = value;

this.Invalidate();

}

}

/// <summary>

/// 新闻标题

/// </summary>

private string _NewsTitle = "";

[Description("新闻标题"), Category("Appearance")]

public string NewsTitle

{

get { return _NewsTitle; }

set

{

_NewsTitle = value;

this.Invalidate();

}

}

private Color _MouseOnColor = new Color();

[Description("鼠标划上的样色"), Category("Appearance")]

public Color MouseOnColor

{

get { return _MouseOnColor; }

set

{

_MouseOnColor = value;

}

}

protected override void OnPaint(PaintEventArgs pe)

{

base.OnPaint(pe);

g = this.CreateGraphics();

if (isMouseOn)

{

g.DrawString(_NewsTitle, this.Font, new SolidBrush(this._MouseOnColor), new PointF(0, 0));

}

else

{

g.DrawString(_NewsTitle, this.Font, new SolidBrush(this.ForeColor), new PointF(0, 0));

}

}

protected void Dispose()

{

g.Dispose();

}

}

public partial class NewsEventArg : EventArgs

{

public int NewsID = 0;

public string NewsTitle = "";

public NewsEventArg(int newsID,string newsTitle){

NewsID = newsID;

NewsTitle = newsTitle;

}

}

}

中国足彩网信息请查看IT技术专栏

中国足彩网信息请查看网络编程
易贤网手机网站地址:c#自定义控件中事件的处理
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 足球游戏_中国足彩网¥体育资讯$ 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标