本文共 3170 字,大约阅读时间需要 10 分钟。
从下面这个例子可以看出来区别 public abstract class A { //抽象属性不能有实现代码 public abstract string AbstractProperty { get; set; } string s; //虚拟属性可以有实现代码 public virtual string VritualProperty { get { return this.s; } set { this.s = value.ToUpper(); } } } public class B : A { string message; //在继承类(子类)中必须提供抽象属性的实现 public override string AbstractProperty { get { return message; } set { this.message = value; } } //重写属性可以调用基类中的实现 public override string VritualProperty { get { return base.VritualProperty; } set { base.VritualProperty = value; } } }
//********************重写label
using System;
using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace ETES.AutoControl_ES.Controls
{ public class MyLabel:Label {public override string Text {
get { return base.Text; }set
{ string str=""; for(int i=0;i<value.Length;i++) { str += value[i]; if (i % 10==0) str += "\r\n"; } base.Text = str; } } } } //***************************#region //控制按钮标题
public MyLabel lb = new MyLabel(); public void InitialTitleManager() { //lb.Parent = this; lb.Visible = true; lb.AutoSize = true; lb.Font=new System.Drawing.Font("宋体", 9, System.Drawing.FontStyle.Bold); foreach (Control v in this.groupBox_CAutoScanSet.Controls) { if (v.Name.Contains("label")) {v.MouseHover += TitleMouseHover;
v.MouseLeave += TitleMouseLeave;}
}
// MessageBox.Show(" comboBox_AxisType.MouseHover+= TitleMouseHover;"); comboBox_AxisType.MouseHover+= TitleMouseHover; comboBox_AxisType.MouseLeave += TitleMouseLeave; } public void TitleMouseHover(object sender, EventArgs e) { Control control = sender as Control;lb.Location = new System.Drawing.Point(control.Location.X + control.Width, control.Location.Y);
string titile = "";
//MessageBox.Show(control.Name);//2020.4.1注释 if (control.Name.Contains("label")) { //MessageBox.Show(control.Name);//2020.4.1注释 string tempStr = ""; if(control.Text.Contains("AX2")) { tempStr = control.Text.Substring(0, 3); } else { tempStr = control.Text.Substring(0, 2); } if (StepModule.AxisDescription.ContainsKey(tempStr)) { titile = StepModule.AxisDescription[tempStr]; }}
else if(control.Name.Contains("comboBox")) { //MessageBox.Show(control.Name);//2020.4.1注释 titile = StepModule.AxisDescription[control.Text]; } lb.Parent = control.Parent; lb.Visible = true; lb.BringToFront(); lb.Location = new System.Drawing.Point(control.Location.X + control.Width, control.Location.Y); lb.Text = titile; } public void TitleMouseLeave(object sender, EventArgs e) {Control control = sender as Control;//此处control只是局部变量,函数结束后,control释放,control引用的对象不会释放
lb.Location = new System.Drawing.Point(control.Location.X + control.Width, control.Location.Y);
lb.Visible = false; lb.AutoSize = true; lb.Text = ""; }#endregion
转载地址:http://ezlws.baihongyu.com/