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

            }

        }

 

 

 

原文地址:https://www.cnblogs.com/phantom-k/p/4041756.html