2016-10-26 88 views
0

我在尋找一些幫助或建議。我正在嘗試在提示用戶進行選擇的組合框中輸入消息。我讀過的所有東西都告訴我要使用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

的comboBox.Text =「選擇一個國家」基本上將設置ComboBox的選擇,以「選擇一個國家」,如果它在項目列表中存在。所以,如果你有一個組合框,其中的項目是...

選擇一個國家

美國

俄羅斯

加拿大

墨西哥

然後命令comboBox.Text =「選擇國家「會將組合框的選定值設置爲」選擇國家「,因爲它是組合框項目中的項目。要使組合框按照您所描述的那樣工作,請使用下面的代碼。

但是,這種方法的問題是,一旦你選擇一個國家,下拉框中會立即返回到「選擇一個國家。」所以他們只是選擇是也可能不是確保用戶可能會忘記。無論哪種方式,從用戶的角度來看,這可能會令人困惑。

這聽起來像一個簡單的標籤「選擇一個國家」上面的組合框將是一個更好的解決方案。希望這可以幫助。

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); 
} 
+0

感謝您的。你的例子做了我需要做的事情,但正如你所描述的那樣,最終用戶可能會感到困惑。我想我試圖讓這個過程變得更加複雜,一個簡單的標籤也可以完成這項工作。再次感謝! – cdjd44

+0

@ cdjd44不客氣。我做同樣的事情,簡化事情可能是一個挑戰。我稱之爲編碼近視,在那裏你如此專注於一種方法,忘記了最終結果。祝你好運。 – JohnG