Combox默认项设置的问题及解决方案

来源:互联网 发布:四级英语网络培训机构 编辑:程序博客网 时间:2024/06/18 06:05
在开发时,对于Combox控件,我们会对Items预置一些值,同时希望显示一个默认值。Combox中没有默认index这样的选项,于是会想着在程序加载时设置Combox的SelectedIndex为一个值,比如3.这样程序启动后就会显示SelectedIndex=3的项。
但是没一个Combox都需要这么设置,不但麻烦,而且还容易搞混、漏掉或者出错,那有没有其他的办法呢?
当然是有的!
在Combox中还有一个属性是Text,我们只要将这个值设置为预置项中的某一项的值,程序启动时就会默认显示这个值。
那有人会担心,这样子设置的话,会不会是Text显示是OK了,但是SelectedIndex却不对应呢?我们可以看下面的代码和运行结果。
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace ComboxDefaultItem{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void buttonShow_Click(object sender, EventArgs e)        {            string info = string.Format("SelectedIndex:{0},Data:{1}",comboBox1.SelectedIndex,comboBox1.SelectedItem);            MessageBox.Show(info);        }    }}



结果证明是不会的。这是因为Combox设置了Text之后,会自动索引到对应的项中。如果设置的Text不在预置项中,那么这时的SelectedIndex是-1,也就是没有索引到对应的项。
原创粉丝点击