我有組合框並將DrawMode更改爲OwnerDrawFixed並處理了DrawItem事件,但現在當我嘗試將selectedIndex更改爲-1時,因爲數據庫中沒有值。所以SelectedIndexChanged不起作用。當在Winform中爲Combobox選擇OwnerDrawFixed模式時,SelectedIndexChanged事件不會觸發
我已經設置DropDownStyle
到DropDownList
DrawMode
到OwnerDrawFixed
繪製項目方法:
private void cmbDetTechnician_DrawItem(object sender, DrawItemEventArgs e)
{
try
{
int index = e.Index >= 0 ? e.Index : 0;
var brush = Brushes.Black;
e.DrawBackground();
e.Graphics.DrawString(lstTechnician[index].DisplayName.ToString(), e.Font, brush, e.Bounds, StringFormat.GenericDefault);
e.DrawFocusRectangle();
}
catch
{
}
}
現在,我沒有價值,員工ID,然後在下拉框應設置爲SelectedIndex
爲-1,但它不工作:
if(_EmployeeID == -1){cmbDetTechnician.SelectedIndex = -1; } else { cmbDetTechnician.SelectedValue = _EmployeeID; }
我也有試圖處理這個組合框的SelectedIndexChanged。但上述聲明後沒有提出事件。
private void cmbDetTechnician_SelectedIndexChanged(object sender, EventArgs e)
{
CustomMessageBox.Show("HI");
}
請讓我知道我做錯了什麼或有什麼更好的建議。
不要隱藏用的try/catch-EM-ALL /什麼也不做編程錯誤。 –