我习惯于使用Java,这里有大量的例子可用。由于各种原因,我不得不切换到C#并尝试在SharpDevelop中完成以下操作:
// Form has a menu containing a combobox added via SharpDevelop's GUI
// --- Variables
languages = new string[2];
languages[0] = "English";
languages[1] = "German";
DataSet myDataSet = new DataSet();
// --- Preparation
DataTable lTable = new DataTable("Lang");
DataColumn lName = new DataColumn("Language", typeof(string));
lTable.Columns.Add( lName );
for( int i=0; i<languages.Length; i++ ) {
DataRow lLang = lTable.NewRow();
lLang["Language"] = languages[i];
lTable.Rows.Add(lLang);
}
myDataSet.Tables.Add(lTable);
// --- Handling the combobox
mnuActionLanguage.ComboBox.DataSource = myDataSet.Tables["Lang"].DefaultView;
mnuActionLanguage.ComboBox.DisplayMember = "Language";
有人可能会认为在下拉列表中看到一些值,但它是空的。 请告诉我我做错了什么 ;(
编辑: mnuActionLanguage.ComboBox.DataBind()也是我在网上找到的,但在我的情况下无法使用。
解决方案
mnuActionLanguage.ComboBox.BindingContext = this.BindingContext;
最终解决了问题!