我的串列框中有一些專案,當我雙擊這些專案之一時,我希望 MessageBox 顯示我雙擊的專案的資訊。例如,我單擊一個專案“Item 1”,MessageBox 顯示為“Item 1”文本。這是我現在的解決方案,但它回傳專案的索引,而不是實際專案:
private void empLbx_MouseDoubleClick(object sender, MouseEventArgs e)
{
int index = this.empLbx.IndexFromPoint(e.Location);
if (index != System.Windows.Forms.ListBox.NoMatches)
{
MessageBox.Show(index.ToString());
}
}
uj5u.com熱心網友回復:
嘗試這個:
private void empLbx_MouseDoubleClick(object sender, MouseEventArgs e)
{
int index = this.empLbx.IndexFromPoint(e.Location);
if (index != System.Windows.Forms.ListBox.NoMatches)
{
MessageBox.Show(empLbx.SelectedItem.ToString());
}
}
uj5u.com熱心網友回復:
this是您的表單而不是ListBox,您的串列框是變數sender。所以改變你的代碼,如:
int index = ((ListBox)sender).SelectedIndex;
if(index != -1)
MessageBox.Show(index.ToString());
如果沒有選中的項,串列框或為空指數將-1如此if(index != -1) 處理兩種。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/347536.html
上一篇:如何基于涉及第一個元素的謂詞轉換observable
下一篇:限制長的大小?
