• ●Winform公共控件


    一、Form对象

    属性:

        Name:窗体类的类名

    (一)外观:

        BackColor               窗体背景色

        ForeColor               窗体文字色

        BackgroundImage         背景图片

        Font                    设置字体

        FormBorderStyle         边框样式,常用的FixedSingle,Sizable

        Text:标题栏文字

    (二)窗口样式

        ControlBox              窗体左上角或右上角的最大化,最小化,关闭按钮

        MaximizeBox             控制最大化按钮是否可用。

        MinimizeBox             控制最小化按钮是否可用。

        Opacity                 透明度。0-完全透明。100%-完全不透明。

        Icon                    设置窗体左上角的图标,只能是*.ico文件。

        ShowIcon                是否显示左上角的图标。

        ShowInTaskBar           是否在windows任务栏中显示窗体。

        TopMost                 是否是顶层显示的窗口

        HelpButton              帮助按钮

        TransparentKey          窗体要设为哪个透明颜色,一般用来做透明窗体用。

    (三)布局:

        WindowState             窗口运行起来的初始状态

        StartPosition           窗口运行时的位置

        Size                    窗口大小

        MaximumSize             最大化的大小

        MinimumSize             最小化的大小

    (四)杂项

        AcceptButton            窗口的“接受”按钮。设置后按回车键相当于单击该按钮

        CancelButton            窗口的“取消”按钮。设置后按Esc键相当于单击该按钮

     

    二、Label(标签)

    属性:

        Anchor                  控制控件定位的。上 右 下 左

        AutoSize                是否自动根据里面文字的内容调整大小。

        Text                    标签上的文字

        TextAlign               文字对齐方式。前提:AutoSize属性必须设为false

        ImageAlign              图片的对齐方式。

        Image                   标签上要显示的图片。

        ImageList,ImageIndex    通过ImageList控件来统一管理图标对象。

     

    三、TextBox(文本框)

    属性:

        AcceptReturns          在文本框中输入的时候,用来设置单击回车是触发AcceptButton(主窗口的杂项中的属性),还是在文本框中进行回车

        AcceptTab               在文本框输入的时候,是否接受Tab跳格的效果。

        Enabled                 是否可用。

        MaxLength               最多输入多少字符

        MultiLine               是否是多行文本框

        PasswordChar            用来设置密码框中的密码显示样式。如果已设置,要用代码清空:文本框名.PasswordChar = ‘’;

        ReadOnly                是否只读。

        TabIndex                按Tab键光标进入的次序

        Visible                 是否可见。

        WordWrap                内容是否自动换行

        ScrollBars              如何显示滚动条

        Text                    文本框上的文字

     

    四、Button(按钮)

    属性:

        FlatAppearance          设置按钮的背景色、边框等

        FlatStyle               设置按钮样式

        Text                    按钮文字。     Text:确认(&C)//同时设置C键为热键

        ImageList

        ImageIndex

        Image                   按钮的图片

     

    五、RadioButton(单选),Checkbox(多选)

        RadioButton,把同一组单选按钮要放在同一个面板里,它们会自动产生互斥效果。如果要做多组单选,那么每一组单选按钮都要放在一个容器中。

    属性:

        Checked                 是否被选中。

        ImageList

        ImageIndex

        Image                   选项的图片

        Text                    文字

     

    六、Combobox(下拉列表)

    属性:

        Items                   列表项的集合

        DropDownStyle           下拉列表模式。DropDownList-只能选;DropDown-可写,可选。

        DataSource              指定一个集合,绑定在下拉列表中显示

        ValueMember             string哪个属性作为下拉列表的value值

        DisplayMember           string哪个属性作为下拉列表的显示值

        SelectedIndex           获取或设置选中项的索引号

        Text                    获取选中项的文字

        SelectedValue           获取或设置选中项的值

     

    七、DateTimePicker(日期选择框)

    属性:

        Value                   所选日期的DateTime型数据。

     

    八、ListView

    可以通过控件右上方的小箭头,进行编辑项、编辑列等操作。

        SmallImageList          小图标列表

        LargeImageList          大图标列表

        View                    视图状态。View.LargeIcon(大图标),View.SmallIcon(小图标),View.List(列表),View.Details(详细),平铺

        SelectedItems           选中项的集合

        Items集合               ListViewItemCollection

        Columns集合             ColumnHeaderCollection——只能在详细视图中显示出来。

        Groups集合              ListViewGroupCollection

     

        子对象:

            ListViewItem子对象,主要是放在Items集合。

            属性:Tag,Text,ImageIndex,SubItems集合(ListViewItem.ListViewSubItem对象的集合)

            ColumnHeader对象

     

        举例:

        1、用ListView显示表中的信息。

                //读数据

                MyDB.InfoDataTable table = new InfoTableAdapter().GetData();

     

                //填充显示

                foreach (MyDB.InfoRow row in table.Rows)

                {

                    //造主项

                    ListViewItem item = new ListViewItem();

                    //设置主项信息

                    item.Text = row.Name;

                    item.ImageIndex = row.Sex == true ? 0 : 1;

     

                    //造子项

                    ListViewItem.ListViewSubItem itemSex = new ListViewItem.ListViewSubItem();

                    itemSex.Text = row.Sex == true ? "男" : "女";

                    item.SubItems.Add(itemSex);

     

                    ListViewItem.ListViewSubItem itemNation = new ListViewItem.ListViewSubItem();

                    itemNation.Text = GetNationName( row.Nation);

                    item.SubItems.Add(itemNation);

     

                    ListViewItem.ListViewSubItem itemBirthday = new ListViewItem.ListViewSubItem();

                    itemBirthday.Text = row.Birthday.ToString("yyyy年MM月dd日");

                    item.SubItems.Add(itemBirthday);

     

                    listView1.Items.Add(item);

                }

        2、选择每一项,显示其主键值:

        第一步:把每项的主键值放在ListViewItem的Tag属性

        第二步:编写事件SelectedIndexChanged事件

            private void listView1_SelectedIndexChanged(object sender, EventArgs e)

            {

                //获得选中的项集合

                ListView.SelectedListViewItemCollection items = listView1.SelectedItems;

                //判断是否被选中

                if (items.Count > 0) //有选中项

                {

                    //取出ListViewItem对象的Tag 属性

                    label1.Text = items[0].Tag.ToString();

                }

                else//无选中项

                {

                    label1.Text = "无选中项";

                }

            }

     

    九、ListbBox

    1.把数据填进去。

    法一:绑定

                listBox1.DataSource = list;

                listBox1.DisplayMember = "Name";

                listBox1.ValueMember = "Code";

    法二:向集合中添加(添加集合或逐项添加)

                //直接加一个集合

                listBox1.Items.AddRange(list.ToArray());

     

                //逐项添加

                foreach(Info data in list)

                {

                    listBox1.Items.Add(data);

                }  

     

    提问:如何显示“请选择”效果?

        a.如果是直接绑定的话:在绑定数据时,会自动清空原有的内容,所以不能事先在列表框中加入"请选择"项。

            应当事先在数据源的集合中,用Add()或Insert()加入一个“请选择的项”,然后再绑定。

        b.如果是用Items.Add()或Items.AddRange()添加的数据,则事先可以在列表框中加入“请选择”项

                //取数据

                InfoDA da = new InfoDA();

                List<Info> list = da.Select();

     

                Info data = new Info();

                data.Code = "-1";

                data.Name = "--请选择--";

     

                list.Insert(0,data);

     

                //填充——绑定式填充

                //listBox1.DataSource = list;

                //listBox1.DisplayMember = "Name";

                //listBox1.ValueMember = "Code";

     

                //填充——逐项添加

                listBox1.Items.AddRange(list.ToArray());

                listBox1.SelectedIndex = 0;

                //foreach(Info data in list)

                //{

                //    listBox1.Items.Add(data);

                //}

     

    2.把选中的项取出来。

                //数据源是直接绑定的。

                string value = listBox1.SelectedValue.ToString();   //取后端的value值

                string text = listBox1.Text;    //取前端的显示值

     

                label1.Text = text + " " + value;

     

                //通过SelectedItem取选中项的内容

                Info item = (Info)listBox1.SelectedItem;

                label1.Text = item.Code + " " + item.Name+" "+item.Sex;

     

    3.设置某项被选中。

    //listBox1.SelectedIndex = Convert.ToInt32(textBox1.Text);  //通用

        //如果:数据源是直接绑定的

                //listBox1.SelectedValue = textBox1.Text;//对绑定形式起作用

        //如果:添加的

            for(int i=0;i<listBox1.Items.Count;i++ )

            {

                Info data = (Info)listBox1.Items[i];

                if(data.Code == textBox1.Text)

                {

                    listBox1.SelectedIndex = i;

                    break;

                }

            }

     

     

     

  • 相关阅读:
    基于Flume做FTP文件实时同步的windows服务。
    Java代码解决ElasticSearch的Result window is too large问题
    springboot+zuul(二)------智能负载
    springboot+zuul(一)------实现自定义过滤器、动态路由、动态负载。
    Docker 快速安装&搭建 Ngnix 环境,并配置反向代理
    如何通过 Freemark 优雅地生成那些花里胡哨的复杂样式 Excel 文件?
    Elasticserach 同步索引报错:ElasticSearch ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]
    如何通过Gitalk评论插件,5分钟为你的博客快速集成评论功能
    一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏
    Docker 快速安装&搭建 Mysql 环境
  • 原文地址:https://www.cnblogs.com/phantom-k/p/4041756.html
Copyright © 2020-2023  润新知