我有一个需要自动滚动的客户,ListBox
我需要让它不显示Selected Item
. 这就是我所说的蓝条...:
...“Task4”上方的蓝色条。
我见过这样的代码会删除它:
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
bool isItemSelected = ((e.State & DrawItemState.Selected) == DrawItemState.Selected);
int itemIndex = e.Index;
if (itemIndex >= 0 && itemIndex < listBox1.Items.Count)
{
Graphics g = e.Graphics;
// Background Color
SolidBrush backgroundColorBrush = new SolidBrush((isItemSelected) ? Color.Red : Color.White);
g.FillRectangle(backgroundColorBrush, e.Bounds);
// Set text color
string itemText = listBox1.Items[itemIndex].ToString();
SolidBrush itemTextColorBrush = (isItemSelected) ? new SolidBrush(Color.White) : new SolidBrush(Color.Black);
g.DrawString(itemText, e.Font, itemTextColorBrush, listBox1.GetItemRectangle(itemIndex).Location);
// Clean up
backgroundColorBrush.Dispose();
itemTextColorBrush.Dispose();
}
e.DrawFocusRectangle();
}
但是该代码对我不起作用,因为我在 a 中运行选择事件Timer
,所以我不能做任何类似的事情e.whatever
,有什么方法可以做到这一点,同时在 a 中运行它Timer
?
这是我的代码Timer
:
int ii = 0;
int i = 1;
private void timer1_Tick(object sender, EventArgs e)
{
ii = LstBxTaskList.Items.Count;
if (i == ii)
{
i = 0;
LstBxTaskList.SelectedIndex = 0;
}
LstBxTaskList.SelectedIndex = i;
i++;
}
并且该代码使Selected Item
运行在Items
.
谢谢。