我已閱讀了關於此主題的一堆話題。我嘗試了很多變化,但出於某種原因,我無法讓這個工作。這是問題:我有一個組合框,用Excel工作簿中的工作表名稱填充。 (如果問題存在,我會包含該代碼)當我嘗試獲取選定的文本值時,我什麼也得不到。我究竟做錯了什麼?從組合框中獲取選定的值C#
/********************************************************************************
* The following code takes in an excel filename and populates a combobox based
* on the excel tab names.
********************************************************************************/
private void GetExcelSheetNames(string excelFile)
{
_Application xlApp;
Workbook xlTemplateWB;
xlApp = new ApplicationClass();
xlTemplateWB = xlApp.Workbooks.Open(Elmnt.getDBPath() + TEMPLATENAME, 0, true,
5, "", "", false, XlPlatform.xlWindows, "", true, false, 0, true, false, false);
foreach (Worksheet temp in xlTemplateWB.Worksheets)
{
cboBenchSheets.Items.Add(temp.Name);
}
xlTemplateWB.Close(true, Missing.Value, Missing.Value);
xlApp.Quit();
}
/********************************************************************************
* This returns the selected item in the cboBenchSheets combo box
********************************************************************************/
public String getSelection()
{
String selected;
selected = cboBenchSheets.Text; //Returns nothing
selected = cboBenchSheets.SelectedText; //Returns nothing
selected = cboBenchSheets.SelectedValue.ToString(); //Returns nothing
selected = cboBenchSheets.GetItemText(cboBenchSheets.SelectedIndex); //Returns -1
return selected;
}
這不能回答你的問題,但如果你這樣評論你的代碼,你應該停下來。用'///'註釋你的代碼並使用''節點來放置你的註釋 –
Eonasdan
當你調試時,你分配給'selected'的任何語句是否都有值?每次分配時都覆蓋變量的值 - 這樣做的目的是什麼?它只是測試,看看哪個屬性包含?逐步進行調試會更容易。 – Bridge
請提供我們的代碼來填充您的cboBenchSheets_。此外,您是否可以在您的答案中包含**致getSelection()**,請僅 –