| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 | using System;using System.Drawing;using System.Windows.Forms;namespace OTSPeriodicTable{    public partial class User_Element : UserControl    {        #region 变量        public int i_click = 0;    //点击记数        Color old_color;    //记录被点击前的颜色        string str_zwysm = "中文元素名";        //中文元素名        public string zwysm        {            get { return str_zwysm; }            set { str_zwysm = value; }        }        /// <summary>        /// 该控件的原始颜色        /// </summary>        public Color OldColor        {            get { return old_color; }            set { old_color = value; }        }        #endregion        #region 窗体加载,初始化        public User_Element()        {            InitializeComponent();        }        //加载        private void User_Element_Load(object sender, EventArgs e)        {            lb_zwysm.Text = "";            old_color = this.BackColor;            #region 字太多,变小点显示            string str = this.lb_ywm.Text;            if (str.Length > 8)            {                lb_ywm.Font = new Font("微软雅黑", 6, FontStyle.Bold);            }            #endregion        }        #endregion        #region 鼠标移动事件        private void User_Element_MouseMove(object sender, MouseEventArgs e)        {            Graphics g = this.CreateGraphics();            ControlPaint.DrawBorder(g,                                this.ClientRectangle,                                Color.Lime,                                1,                                ButtonBorderStyle.Solid,                                Color.Lime,                                1,                                ButtonBorderStyle.Solid,                                Color.Lime,                                1,                                ButtonBorderStyle.Solid,                                Color.Lime,                                1,                                ButtonBorderStyle.Solid);        }        private void User_Element_MouseLeave(object sender, EventArgs e)        {            Graphics g = this.CreateGraphics();            ControlPaint.DrawBorder(g,                                this.ClientRectangle,                                old_color,                                1,                                ButtonBorderStyle.Solid,                                old_color,                                1,                                ButtonBorderStyle.Solid,                                old_color,                                1,                                ButtonBorderStyle.Solid,                                old_color,                                1,                                ButtonBorderStyle.Solid);        }        #endregion        #region 鼠标点击事件        private void User_Element_MouseClick(object sender, MouseEventArgs e)        {            if (i_click == 0)            {                lb_zwysm.Text = str_zwysm;//点击到其它颜色时显示中文名,深灰色                i_click = 2;                this.BackColor = Color.SpringGreen;                return;            }            if (i_click == 2)            {                //换回原先的颜色                lb_zwysm.Text = ""; //恢复到原先的颜色时,不显示中文名                i_click = 0;                this.BackColor = old_color;                return;            }        }        #endregion    }}
 |