using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; 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; } } /// /// 该控件的原始颜色 /// 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;//点击到其它颜色时显示中文名 // old_color = this.BackColor; // i_click = 1; // this.BackColor = Color.SpringGreen; // return; //} //if (i_click == 1) //{ lb_zwysm.Text = str_zwysm ;//点击到其它颜色时显示中文名,深灰色 i_click = 2; //this.BackColor = Color.DimGray; this.BackColor = Color.SpringGreen; return; } if (i_click == 2) { //换回原先的颜色 lb_zwysm.Text = ""; //恢复到原先的颜色时,不显示中文名 i_click = 0; this.BackColor = old_color; return; } } #endregion } }