Previous topicNext topic
Help > 开发指南 > 窗体开发 > 控件参考 > 控件参考 > 通用成员 >
C1TextBox

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重复的功能我们就无需重复学习了。