亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        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.事件觸發(fā),這樣少了事件注冊,我們在其他窗體中引用控件時只需要注冊事件和編輯事件處理程序即可,可以對比上一篇博客
            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();
            }
            //新聞被點(diǎn)擊 事件觸發(fā)方法
            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>
            /// 新聞標(biāo)題
            /// </summary>
            private string _NewsTitle = "";
            [Description("新聞標(biāo)題"), Category("Appearance")]
            public string NewsTitle
            {
            get { return _NewsTitle; }
            set
            {
            _NewsTitle = value;
            this.Invalidate();
            }
            }
            private Color _MouseOnColor = new Color();
            [Description("鼠標(biāo)劃上的樣色"), 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;
            }
            }
            }