ayarlamalısınız ama değil% 100
Hala şu sorunlarla karşılaştım:
- başka bir dizin seçtiğimde, yeni seçilen dizin de kırmızı renkte vurgulanacaktı.
- liste kutusunun yazı tipi boyutunu değiştirdiğimde, vurgulanan alan küçük olur. düzeltmeleri Aşağıda
o sorun
- değişiklik
- liste kutusu için bir MeasurItem ve DrawItem etkinlik oluşturmak ownerdrawvariable için DrawMode
private void lstCartOutput_MeasureItem(object sender, MeasureItemEventArgs e)
{
// Cast the sender object back to ListBox type.
ListBox listBox = (ListBox)sender;
e.ItemHeight = listBox.Font.Height;
}
private void lstCartOutput_DrawItem(object sender, DrawItemEventArgs e)
{
ListBox listBox = (ListBox)sender;
e.DrawBackground();
Brush myBrush = Brushes.Black;
if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
{
myBrush = Brushes.Red;
e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(0, 64, 64)), e.Bounds);
}
else
{
e.Graphics.FillRectangle(Brushes.White, e.Bounds);
}
e.Graphics.DrawString(listBox.Items[e.Index].ToString(),e.Font, myBrush, e.Bounds);
e.DrawFocusRectangle();
}
Ben de MSDN web sitesi başvurulan .
Bu kodu uyguladım ancak liste kutusundaki öğeler arka plan ve ön plan üzerinde beyaz renktedir. Bunu neden yaptığını göremiyorum? – Qosmo
'DrawMode 'özelliğini" DrawMode.OwnerDrawFixed "olarak ayarlıyor musunuz? – RRUZ
Evet, aksi takdirde Normalde varsayılan pencere rengi olur. – Qosmo