披露六个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,并提供对数码的印证,下拉列表联动等,以便收缩界面代码和界面布局导致的工作量大增。

       
林悦然第二次看见肖言恩时,陈宇也在场。周末的夜间,他们六个人共同出来走走。明明才第二次看见肖言恩,林悦然对她说的话却比对陈宇说的还要多。

做这两个控件的关键目的是削减代码,并方便代码生成工具Database2夏普(Sharp)自动生成UI内容(WEB和Winform界面),相当于把界面突显的逻辑举行了打包。

       
从这将来,林悦然便日常看见肖言恩了。教学楼,食堂,田径场,无论林悦然在哪儿似乎总能看见他。而每一遍看见她,林悦然都很喜气洋洋。有时候六人就那么微笑的看着对方,也不讲话。周末的夜间,他们也会一起出去走走,像老朋友一般,却又不像老朋友。

图片 3

       
直到一天,肖言恩对林悦然说自己有喜欢的女子了。喜欢的女人?林悦然的心里感觉空了一块。

图片 4

        “这您去表白啊。”

虽说和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);

        “我不想影响他读书,等到毕业,毕业了自己就对她表白。”

            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);

       
终于,要高考了。两年来,林悦然生病,肖言恩会给他买药,林悦然受到了委屈,肖言恩会听她倾诉,林悦然不想一个人回家,肖言恩会送他回家。周末的早晨,他们联合去转转,阳光明媚的下午,他们合伙去晒太阳,每一天临睡前,他们齐声互道晚安。

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

        两年来,他向来陪在他的身边。

            Field(Field)Info manInfo = new Field(Field)Info(“Man”, “是否男性”, 菲尔德(Field)Type.Boolean);
            FieldInfo birthInfo = new FieldInfo(“Birthday”, “出生日期”, Field(Field)Type.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”;

       
9月8日的深夜,夕阳很温和。林悦然和肖言恩来到江边。晚霞把天空染成了橘色,江水上涨,有船舶漂浮其上,岸边柳树垂丝,随风摆动,六人的影子也被夕阳拉得很长很长。

            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 菲尔德(Field)Info(“Man”, “是否男性”, FieldType.Boolean);
            manInfo.Items = new CListItem[] { new CListItem(“男性”, “True”), new CListItem(“女性”, “False”) };
            manInfo.DefaultValue = “False”;

        “读了大学,你一定要完美的,一定要具有你想要的生活。”

            菲尔德(Field)Info birthInfo = new 菲尔德(Field)Info(“Birthday”, “出生日期”, 菲尔德(Field)(Field)Type.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; //默认一行放置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是测试例子的数据库脚本,允许例子前,请起初化数据库。

邵阳大学 商大学 2017级 财务管理5班 李丽 1700150528

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

仰望我们利用愉快,下一步我将集成UI的自动生成到Database2夏普中,和Web一样,利用查询控件和分页控件、页面显示控件完成UI的变迁。