揭穿多个Winform新控件:Winfrom下的询问控件和故事情节体现控件

“落红不是残暴物,化作春泥更护花。”

万一大家看过自家的散文小说《查询控件、分页控件、页面突显控件,笔者的Web开发三大得力帮手》相信大家都对Web中的查询控件、页面展现控件有不可计数动容,今后自家这些发表五个Winform版本的相似控件:Winfrom下的询问控件和情节浮现控件。

童希“啪”地合上此前的日记本,望向窗外三三两两飘落的花瓣:“落花啊……”

率先大家回看一下Web的查询控件和内容彰显控件先。

曾祖母家的果树二零一九年有没有开放呢?

WEB查询控件

一、

  1. 依照设定的字段属性在界面突显相应的求证及控件
  2. 帮助下拉列表之间的联动,援救输入数据的证实操作。
  3. 支撑查询历史记录记念作用
  4. 支撑日期控件的合龙
  5. 支撑移动省公司界面样式集成

童希一出生就被抱到乡村外婆家。古老的暗褐石板路,锈迹斑斑的黑色大铁门,整整一座山的果树。放眼望去一片青黑之中唯一的有个别朱砂就是外婆家层层红瓦堆叠成的宽大屋顶。童希就在那片土地上一点一点地长大。

澳门葡京手机网址 1

童希对家长没什么心境,确切地说,是未曾什么样印象。在童希蹲在地上看蚂蚁搬家的时候,把各样颜色的花瓣儿收集起来的时候,可能学着大妈拿着小刀切菜喂鸡的时候,清瘦的先生和长着娃娃脸的农妇会蓦然出现,安心乐意地说:“姑丈婆婆回来了。”童希一直对那句话抱有问号,总认为应该改成:“二叔三姑来了。”或然“四伯丈母娘来走访了。”但那并不是小孩应该计较的业务。

WEB页面显示控件

大人会带着童希到山头走他早已度过无多次的路,一边走一边探究着“一会回家的时候把这一个水果啊蔬菜啊每样带回家里一点些,那样就又有什么不可省下一大笔花销”之类的话题。

  1. 支撑查看、伸张、编辑三种档次的页面呈现
  2. 基于设定的字段属性在界面展现相应的认证及控件
  3. 支撑布局和样式修改
  4. 支撑日期控件的并轨
  5. 支撑移动省公司界面样式集成

偶尔也会问:“童希,和五伯大妈在一块开不开心?”

澳门葡京手机网址 2

“唔。”

上面小编来介绍下Winform下的四个控件。

“那孩子,在乡村都待的不爱讲话了,童希应该和四伯小姑最密切才对啊。”

Winfrom下的询问控件和情节浮现控件和Web的习性和中坚框架是如出一辙的,都以基于字段音信,自动构筑UI,并提供对数码的注明,下拉列表联动等,以便减弱界面代码和界面布局导致的工作量大增。

怎么亲近得兴起呢。为啥你们每便说带作者玩时只是盘算着从那里拿走如何吗?为啥这么二个让自家以为温暖的地点你们却觉得哪个地方都脏的难以下脚呢?为啥你们总会骗我说睡一觉醒来会有风趣的事物,等醒来后却都不见你们的踪影呢?童希认为内心很空很空,像有2个美观的天使对您说:“闭上眼睛,小编带你飞哦。”等听到耳边簌簌流动的形式,睁开眼睛,却发现本身正在落下万丈深渊。

做那多个控件的严重性目标是压缩代码,并利于代码生成工具Database2Sharp自动生成UI内容(WEB和Winform界面),相当于把界面突显的逻辑举办了包装。

童希从小就理解怎样是虚与委蛇和诈骗,她不能相信广大人。

澳门葡京手机网址 3

二、

澳门葡京手机网址 4

1八岁的童希在升学宴上手忙脚乱。

虽说和Web界面的控件使用格局大多,我们照旧来呈现下相关的代码把,那样有助于了解控件的选择方面。

平生不擅长表明的童希被亲人们须要讲话敬酒。尽管早就料到会有这一项,就准备了一段周到体面的话,却被岳母搅得乌烟瘴气。“童希啊,别只多谢伯公啊…你应该感激大姑嘛…还有大姨…我们见谅啊,作者家童希不太会讲话……”突然被打断,童希只可以含糊甘休。

询问控件窗体的片段代码:

更出人意料的是,伯公依旧在酒席上哭了。

        private void InitSearch()
        {
            SearchControl1.Dock = DockStyle.Fill;
            //SearchControl1.PanelBorderStyle = TableLayoutPanelCellBorderStyle.Single;
            this.groupBox1.Controls.Add(SearchControl1);

“童童啊,这回走远了…自身小心点…奶奶没瞧见你上高校,伯公再见你也不明了是如什么日期候……”曾外祖父的话断断续续却让童希的心猛地刺痛了须臾间。

            this.SearchControl1.OutSQLValueChanged += new OutSQLChangedHandle(SearchControl1_OutSQLValueChanged);
            this.SearchControl1.OnAddNew += new AddNewHandler(SearchControl1_OnAddNew);
            this.SearchControl1.OnDelete += new DeleteHandler(SearchControl1_OnDelete);

那事童希第2次看见曾祖父哭,第2遍,是在曾祖母的葬礼上。

            Button appendButton = CreateButton(“btnAppended”, “其他”);
            this.SearchControl1.AppendedButtons = new Button[] { appendButton };

在童希模拟考的上周,外婆突然住了院。

            FieldInfo nameInfo = new FieldInfo(“Name”, “姓名”, FieldType.String);

童希走进病房的时候,外婆已经不认识人,说不出话,也不会喝水了。外公用医用纱布沾满水,放在姑婆的嘴里,让大姑一点一点地吮吸。“童童来看你呀。”外祖父朝童希招了摆手。“外祖母。”童希站在床边,不知该说什么好只是握住外婆的手——曾经粗糙却温暖如春的手,如今却那么冰冷。外祖母竟某个握紧了一入手,口中发出几声声响。童希却听不清她在说哪些。

            FieldInfo cityInfo = new FieldInfo(“City”, “城市”, FieldType.String);
            cityInfo.Width = 100;
            cityInfo.Items = new CListItem[] { new CListItem(“北京市”, “北京”), new CListItem(“广州”), new CListItem(“成都”) };
            cityInfo.TargetFieldName = “Area”;
            cityInfo.OnFillItem += new AddItemHandler(this.OnFillItem);

太婆,你认出作者来了是吗?你在责备小编为何不早点来看你吧?作者知道前天你突然精神了很多,要下地转转,而你提出的绝无仅有3个须求,就是要见见女儿。哪个人都领会,那表示如何。

            FieldInfo areaInfo = new FieldInfo(“Area”, “地区”, FieldType.String);
            areaInfo.Items = new CListItem[0];

是了,回光返照。

            FieldInfo manInfo = new 菲尔德Info(“Man”, “是或不是男性”, FieldType.Boolean);
            FieldInfo birthInfo = new FieldInfo(“Birthday”, “出生日期”, FieldType.Date提姆e);
            FieldInfo ageInfo = new FieldInfo(“Age”, “年龄”, FieldType.Numeric);

“童希,你岳母,没了。”岳母在机子里如此告诉童希。

            this.SearchControl1.SearchFields = new FieldInfo[] { nameInfo, cityInfo, areaInfo, manInfo, birthInfo, ageInfo };
            this.SearchControl1.RowControls = 3;
            this.SearchControl1.ShowAddNew = true;
            this.SearchControl1.LabelHorizontalAlign = System.Windows.Forms.VisualStyles.HorizontalAlign.Right;
            this.SearchControl1.InSQL = “Select * from Test”;

“哦。”童希很平静,自身也不知道干什么。她安静地回到农村,平静地朝曾祖母的木棺鞠躬,平静地转身离开。

            BindData();
        }

“童童,你不再看阿姨一眼吧?”外公的声音带着哭腔。

        private void BindData()
        {
            using (SqlConnection conn = new SqlConnection(CONNECTION_STRING))
            {
                conn.Open();

童希下意识向前迈出半只脚的偏离,但到底噤若寒蝉。

                string sql = this.SearchControl1.OutSQL;
                SqlCommand command = new SqlCommand(sql, conn);
                foreach (string key in this.SearchControl1.PagerParameters.Keys)
                {
                    command.Parameters.Add(new SqlParameter(key, this.SearchControl1.PagerParameters[key]));
                }

“算了,别让她看了,小孩子别吓坏了。”婆婆执意把童希推出了门。

                SqlDataAdapter adapter = new SqlDataAdapter(command);
                DataSet ds = new DataSet();
                adapter.Fill(ds, “test”);

“奶奶多想再看您一眼啊,童童——”背后是祖父的哭声。

                this.dataGridView1.DataSource = ds.Tables[0];
            }

夜晚,童希飞速地在桌边算着习题,岳母坐在床边看着他。

 

“唉,你岳母苦了一辈子,小编对他还某些好,想想也尤其。”小姨突然惊叹。

页面显示控件的窗体部分代码:

童希还是算着。

        private void InitEditControl()
        {
            editControl.Dock = DockStyle.Fill;

“一天从早忙到晚地干活,伺侯你曾祖父——你曾祖父明天当着那么多个人的面还哭那么大声?也真够丢人的。作者都替他……”

            //editControl.ControlType = ControlType.Edit;
            //TestInfo info = new TestInfo();
            //info.Name = “wuhuacong”;
            //editControl.EntityObject = info;

“够了!”童希“腾”地上路,冲出了门外。

            FieldInfo nameInfo = new FieldInfo(“Name”, “姓名”, FieldType.String);
            nameInfo.IsRequired = true;
            nameInfo.ToolTip = “请输入用户名称”;
            nameInfo.ColumnSpan = 2;
            nameInfo.Width = 400;
            //nameInfo.MaxLength = 255;
            //nameInfo.TextColumns = 100;
            //nameInfo.TextRows = 2;
            //nameInfo.Enabled = false;
            nameInfo.IsMultiLine = true;
            //if (editControl.ControlType != ControlType.Add)
            //{
            //    nameInfo.Enabled = false; //设置“名称”不可编辑
            //}

“明日还要考试呢,你去哪?哎,童希……”丈母娘的喊声渐渐模糊。

            FieldInfo cityInfo = new FieldInfo(“City”, “城市”, FieldType.String);
            cityInfo.Items = new CListItem[] { new CListItem(“北京市”, “北京”), new CListItem(“广州”), new CListItem(“成都”), new CListItem(“武汉”) };
            cityInfo.TargetFieldName = “Area”;
            cityInfo.OnFillItem = new AddItemHandler(this.AddItem);
            cityInfo.ColumnSpan = 2;

童希不停地跑着。

            FieldInfo areaInfo = new FieldInfo(“Area”, “地区”, FieldType.String);
            areaInfo.Items = new CListItem[0];

晚风微凉,街道两旁的霓虹灯变幻着颜色,五色流转,让童希一阵天旋地转。

            FieldInfo manInfo = new FieldInfo(“Man”, “是还是不是男性”, FieldType.Boolean);
            manInfo.Items = new CListItem[] { new CListItem(“男性”, “True”), new CListItem(“女性”, “False”) };
            manInfo.DefaultValue = “False”;

何以外祖母生前你不对她好一点呢?

            FieldInfo birthInfo = new FieldInfo(“Birthday”, “出生日期”, FieldType.Date提姆e);
            birthInfo.IsRequired = true;
            birthInfo.DefaultValue = “2009-1-1”;
            birthInfo.CustomFormat = “yyyy-MM-dd”;

怎么你不亮堂孝顺还活着的四叔吧?

            FieldInfo ageInfo = new FieldInfo(“Age”, “年龄”, FieldType.Numeric);
            //ageInfo.CustomFormat = “#.##”;

干什么您要等到失去了才学会尊重吧?

            FieldInfo favoriteInfo = new FieldInfo(“Favorites”, “兴趣爱好”, FieldType.String);
            favoriteInfo.Items = new CListItem[] { new CListItem(“篮球”), new CListItem(“足球”), new CListItem(“网球”), 
                new CListItem(“乒乓球”), new CListItem(“台球”,”t”), new CListItem(“羽毛球”, “y”) };
            favoriteInfo.ItemsType = ListControlType.CheckBoxList;
            favoriteInfo.ColumnSpan = 2;
            favoriteInfo.Width = 300;
            //favoriteInfo.DefaultValue = “篮球,乒乓球,t,y”;

末段,童希停在了全校楼后的桃树。树下是一地凋零的花瓣儿,在路灯昏黄的灯光下某个颤动。童希蹲下来,像小时候一致用拇指和食指小心地捏起一片片花瓣,放在用裙子前摆围成的“袋子”里。

            editControl.EidtFields = new FieldInfo[] { nameInfo, cityInfo, areaInfo, manInfo, birthInfo, ageInfo, favoriteInfo };
            editControl.RowControls = 2; //默许一行放置二个控件组
            //editControl.ContentControlWidth = 200;//全部控件统一宽度
            editControl.LabelHorizontalAlign = HorizontalAlign.Right;//标签文本对其艺术
            editControl.PanelBorderStyle = TableLayoutPanelCellBorderStyle.None;//表格样式

“怎么忍心落下来呢……”童希喃喃道。

            editControl.OnCancel = new CancelHandler(this.OnCancel);
            editControl.OnSaveData = new SaveDataHandler(this.OnSaveData);
            this.groupBox1.Controls.Add(editControl);
        }

三、

        private void Form1_Load(object sender, EventArgs e)
        {
            InitEditControl();
        }

其实小时候的童希是很淘气的。不过,也很爱哭。

 

例如拿木棍去戳公鸡的鸡冠,却被公鸡追的满院子跑的时候;

上边附上使用的例子,可以下载下来逐步研讨,其中Database.sql是测试例子的数据库脚本,允许例子前,请伊始化数据库。

诸如想把玻璃摔成雅观的零散,却割破手指的时候;

http://files.cnblogs.com/wuhuacong/TestWinControl.rar 

例如白天缠着曾祖父讲鬼轶闻,早上却被恶梦惊醒的时候;童希都会用哭泣来终结。

希望我们使用开心,下一步我将集成UI的自动生成到Database2Sharp中,和Web一样,利用查询控件和分页控件、页面突显控件完结UI的更动。

万一是大白天,曾祖母不管在做什么,都一马当先在围裙上擦擦手,跑过来摸摸童希的小脸,查看她随身的每一处,不停念叨着:“伤到没有啊童童,伤拿哪了?……不哭不哭啊……”尽管是夜晚,就把童希搂进自身的被窝,小声说:“呶,奶奶给你讲五叔小时候的事体好不好?你姑丈他啊,小时候可老实了……”这单臂确实很粗劣,摸在脸颊有点疼,但却很有效,童希总会转哭为笑恐怕酣然入梦。

而是有一回,这么些都不管用。

外婆家附近住着3个整日光阴虚度的人。三十多岁的男生,不是干些捏手捏脚的事,就是随地转悠,倚在谁家门口讲着部分童希听不懂的段子,和我们共同笑得没有形象。人们总是愿意与他说笑两句,却又防着别让她随手拿走了什么东西。

澳门葡京手机网址,本次,童希蹲在大门旁的境地里帮外婆把土豆装筐,就听见那人戏谑的笑声:“呦,婆婆娘,帮曾祖母干活呢。”

童希警惕地看向他。外婆起身招呼了一声:“是您呀。”

“大娘,你看看本人手里这把木头剑,给您女儿玩如何?”他向二姑挥了挥手中的剑。外婆拍击手,走了过去。

什么人料那人却意想不到把剑架在曾外祖母脖子上,得意地向童希笑着:“妈妈娘,你怕不怕?”

童希愣了一下,许多电视机里的画面在脑英里一闪而过。她转身跑向瓦房,眼泪止不住地流下边颊。

“哎,你那人,吓坏了儿女。”曾祖母一把推开那剑,追着童希跑了千古。

“小编就逗逗她……”那人愣了弹指间,悻悻地转身离开。

“童童不哭啊,他和您闹着玩呢……都以假的……”曾祖母用手擦着童希脸上的泪珠。童希的泪花却来了闸,她瞬间扑进外祖母的怀抱,那样真实而温和。“奶……奶……小编……小编并非和你分手……”童希不停地哭泣,话也不成句子。“好了好了,外祖母在那吗……不会分离的……啊……”曾外祖母拍着童希的背部,叹了口气。

那时候的童希,第两遍发现到“分别”那个词,觉得它是那么的积毁销骨,令人不敢面对,她用哭泣来释放本身的不安。那时候的太婆或许想到了不可胜言,而那时候的童希要求的,其实只是1个得以给予百分百信任的怀抱。

然则今日,世上再没有如此的胸怀来抚平泪水,所以毫无疑问要顽强。

四、

大廷广众的日光把窗框的阴影印在课桌上,图书馆里弥漫着一种呛人的乏味,语文先生在讲台上不停踱着步。

“哎,童希童希,下节体育课去打羽毛球啊,后天天气很好呢。”同桌小艾用胳膊肘碰了碰童希,悄悄地说。

“不了,我去自习室上自习。别和本人开口,听课。”童希头也不抬。

“诶——不是最兴奋羽毛球么……”小艾第几遍碰了钉子,窝回座位,觉得不解气,又小声嘀咕一句:“怎么近期都冷冰冰的。”

“‘落红不是残酷物,化作春泥更护花’落红的人命即便平息了,不过后代却替它一连了生命……也申明了我积极性的人生态度……”老师正绘影绘声地品析着古诗,童希却久久不可以回神。

落花啊……

太婆逝世后的不短一段时间内,童希总会梦见曾祖母家满山的果树开着花。清风吹过,粉松石绿、深湖蓝、淡柠檬黄的花瓣儿携光飞舞,恍若仙境。曾外祖母就站在最大的那棵桃树下,安心地笑着,浅灰的花把曾外祖母的面部映得健康红润。

眨眼间,天色昏暗,全体的花都开始衰落,零落的花瓣变成铬古金色,盖住一整片山。曾祖母就带着笑容一点一点地隐去了,不让童希抓不住一丝美好。

一回又五遍地从梦中惊醒,童希终于打车回去了乡间。

就在四姨逝世后不久,外祖父持之以恒让邻村老伴谢世了的于四姨搬来一只住,说是相互有个照应。那惹来了广大传言,直指外祖父的冷淡、不念旧情。童希没什么感觉,对于二姨很谦和,但他只愿意叫他于小姑,绝不叫“姑奶奶”。

“为何呢?”童希曾并膝坐在曾外祖父身边,这么问道。伯公只是叹一口气:“因为……很像啊……”之后就是望着橘红的阳光没入山后,久久不说话。

是啊,很像吗。于岳母有着和姑婆一样的口音和小说;于阿姨和阿姨一样勤劳地侍奉花草,把家里打扫得齐刷刷;于三姨和祖母一样做出香馥馥的饭菜,从不多言。原来,爷爷一样不大概接受没有曾祖母的光阴。

即便于小姑尽心尽力地招呼着果园,整座山的果树却再没有开过花,好似枯木。人们都说花被小姨带走了,童希却觉得那是因为它们都在团结的梦里开过了。

童希站在那棵最大的桃树下,伸手抚过它粗糙的树枝,好像姑婆的牢笼,令人安心。

丈母娘,我有努力学习呦,这一次模拟考试作者得了头名吧。

太婆,小编有试着去相信身边的人了啊,同学们都很行吗。

外婆,你在梦中让小编来看您,小编就来了哟。

外祖母,我……有点想你了吧。

五、

童希望起头中的日记本,它承前启后着友好一切学生时期啊。

日记本的末梢一页贴了一张照片:姑奶奶抱着年幼的童希站在桃树下,童希梳着多只羊角小辫,笑得尤其灿烂。一束阳光打在小姑的鬓角,追溯着很多年前非凡温暖的晚上。

小姑说:“童童快意,外祖母就心潮澎湃嘛。”

照片的正下方,正是一笔一画认真写下的那句“落红不是残酷物,化作春泥更护花”。

太婆,作者早已以为,落花真的很阴毒,明明和树那样丹舟共济,却忍心离开它的身边;

太婆,作者早已认为,分别是那么恐怖,作者一向告诉要好你并不曾离开,那都不是真的,小编不敢回去那间尚未您的瓦房里;

太婆,笔者一度以为,只要本人不流泪,作者就是钢铁的;可是实际上,笔者一贯在避让。

花要落,是因为要呵护他一直深爱的树,而树在替他活下来,并开出更精粹的花朵。

不哭,并不是强项,而是不敢面对。当自家能为您流出眼泪时,那漂浮已久的痛才和自作者的心恰好重合,没有何样可以动摇。在自身肯认同对你的怀想时,作者才敢面对你的远去。

逝去的人只好住在生活的人的记念里,所以小编永久都不会把您忘记。

太婆你说过,作者开玩笑你就会快意。那么,作者要一向平素心满意足下去,哪怕时光轮转,哪怕荆棘各处,哪怕那大千世界有那么多不美好的业务,你永远都看得见自个儿最灿烂的一言一动。

岳母,就让小编替你再笑一辈子啊。

“啪”,一颗泪珠滴在照片上,恰好覆上一片落花。