C1TextBox这个控件比较特殊,它是C1这套控件中,很多输入型的控件都是基于此控件扩展而来。所以它的很多属性、方法具有通用性。因为我们平台中很多控件也是基于C1控件扩展而来的。下面我们就来看看有哪些通用的属性、方法值得我们学习一下。
上面的控件都是继承于C1TextBox控件,红色字体Box开头的控件的BaseControl属性返回的控件也是继承自C1TextBox控件的。也就是说我们想要对这些控件进行操作时,可以将这些控件转化成C1TextBox然后再操作。
Vb.Net |
Dim cmbName As SmComboBox=Proj.OpenedForms("登陆窗口").ControlDictionary()("cmbName") '我们可以直接对控件进行转化 Dim txt As C1TextBox=TryCast(cmbName,C1TextBox) If txt IsNot Nothing Then txt.ForeColor=Color.Red End If Dim cmbPassword As BoxComboBox=Proj.OpenedForms("登陆窗口").ControlDictionary()("cmbPassword") '如果是Box开头的控件,则取BaseControl属性进行转换 Dim txtPassword As C1TextBox=TryCast(cmbPassword.BaseControl,C1TextBox) If txtPassword IsNot Nothing Then txtPassword.ForeColor=Color.Red End If |
C# |
SmComboBox cmbName = Proj.OpenedForms("登陆窗口").ControlDictionary()["cmbName"] as SmComboBox; // 我们可以直接对控件进行转化 C1TextBox txt = cmbName as C1TextBox; if (txt != null) txt.ForeColor = Color.Red; BoxComboBox cmbPassword = Proj.OpenedForms("登陆窗口").ControlDictionary()["cmbPassword"] as BoxComboBox; // 如果是Box开头的控件,则取BaseControl属性进行转换 C1TextBox txtPassword = cmbPassword.BaseControl as C1TextBox; if (txtPassword != null) txtPassword.ForeColor = Color.Red; |
可能有人会疑问,我们什么时候会用到这种将控件转换成C1TextBox进行操作呢?答案就是做通用功能时。我们可以写一套代码,然后针对上面所有控件都生效,这难道不值得我们好好学习吗?而且,在后续学习这些引申扩展出来的控件时,与C1TextBox重复的功能我们就无需重复学习了。