我正在寻求一些帮助或建议。我试图在一个组合框中添加一条消息,提示用户进行选择。我读过的所有内容都是使用this.comboboxname.Text = "Message"
,
但是我在几个不同的地方试过这个,但它似乎不适用于我的代码。
我想知道我是否错过了一些明显的东西。有什么建议吗?
代码:
namespace DatabaseConnection
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
//this dosen't work
this.worldCbx.Text = "Select a Country";
SqlConnection con = new SqlConnection(@"Data Source=>This works fine.mdf;Integrated Security=True;Connect Timeout=30");
con.Open();
SqlCommand com = new SqlCommand("SELECT name FROM bbc", con);
SqlDataReader sdr = com.ExecuteReader();
while (sdr.Read())
{
this.worldCbx.Items.Add(sdr["name"]);
}
sdr.Close();
}
private void worldCbx_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//this dosen't work either.
this.worldCbx.Text = "Select a Country";
}
}
}
答案 0 :(得分:0)
comboBox.Text =“选择国家/地区”基本上将组合框的选择设置为“选择国家/地区”,如果它存在于“项目”列表中。所以如果你有一个组合框,其中的项目是......
选择国家/地区
USA
俄罗斯
加拿大
墨西哥
然后命令comboBox.Text =“Select A Country”将comboBox的选定值设置为“Select A Country”,因为它是comboBox的Items中的一个项目。要使comboBox按照您的描述操作...请使用下面的代码。
但是,这种方法的问题在于,一旦选择了国家/地区,comboBox将立即返回“选择国家/地区”。因此,用户可能会忘记他们刚刚选择的内容或可能不确定。无论哪种方式,从用户的角度来看,这可能会造成混淆。
听起来像comboBox上方的简单标签“Select A Country”将是一个更好的解决方案。希望这会有所帮助。
comboBox1.Items.Add("Select A Country");
for (int i = 1; i < 15; i++)
{
comboBox1.Items.Add("Country_" + i);
}
comboBox1.SelectedIndex = 0;
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
// do something with the selected index
// - then reset the comboBox to "Select a country
this.comboBox1.SelectedIndexChanged -= new System.EventHandler(this.comboBox1_SelectedIndexChanged);
comboBox1.Text = "Select A Country";
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
}