动态生成空间(一个Demo流程)

Demo流程(从动态生成控件开始)
    1.From2_Load调用PanelReadXmlFile函数,开始动态生成控件。
    2.RecordData类,用来存放xml文件中每个Item的各种数据(用get,set方法)。
    3.根据RecordData存放的每个Item的控件类型生成控件,并绑定事件bindEventByValidateID
    4.按下提交按钮后,对各个空间进行校验,foreach List<RecordData>中的每个RecordData,用到了HashTable类(键值-值)。bindEventByValidateID是动态检验(keyleave,keypress等事件)
    5.List类似一个数据结构链表,能够foreach里面的每个节点。

关于从xml文件动态生成控件
    XmlDocument myXml = new XmlDocument();
    myXml.Load(filename);
    XmlNodeList nodelist_item = myXml.SelectNodes("/TerritoryRemittance/Content/Item");
    foreach(XmlNode node in nodelist_item){}
    在xml中<Item ...></Item>, ...的内容就能被一次次陆续被取出来,类似于读取文件。
    在代码中声明一个控件,赋予这个控件读取的内容。

一个TextBox中,只能输入XXXX.xx,即只有两位小数
    声明一个正则表达式,对这个已经输入的小数进行匹配,如果符合的话,就不能再输入。这样有一个问题:输入完成后,想修改,也不能输入。用到了TextBox的SelectionStart属性,如果c.SelectionStart <= c.TextLength,即光标的位置在小数点前面,就可以进行输入。
    这个功能的实现,觉得正则表达式很重要,对数据的结构判断,起到很大作用。
posted @ 2013-06-26 09:27  长溪  阅读(414)  评论(0)    收藏  举报