int nLast = -1;
int nCur = -1;
private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
// 保留当期那被选择的状态
bSel = e.IsSelected;
var ll = listView1.SelectedIndices;
var asd = listView1.CheckedIndices;
// 将上一个设置为未选中
if (e.IsSelected)
{
nCur = e.ItemIndex;
if (nLast < 0)
{
nLast = e.ItemIndex;
}
}
else
{
nLast = e.ItemIndex;
}
if (e.IsSelected)
{
listView1.Items[e.ItemIndex].BackColor = SystemColors.Highlight;
listView1.Items[nLast].BackColor = SystemColors.Window;
}
if (bClickEmpty)
{
listView1.Items[nLast].BackColor = SystemColors.Highlight;
bClickEmpty = false;
nCur = nLast;
}
}
int xPos, yPos;
bool bClickEmpty = false;
private void listView1_MouseMove(object sender, MouseEventArgs e)
{
xPos = e.X;
yPos = e.Y;
}
private void listView1_MouseDown(object sender, MouseEventArgs e)
{
if (listView1.HitTest(xPos, yPos).Item == null) //点击空白处
{
bClickEmpty = true;
}
}
int nCur = -1;
private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
// 保留当期那被选择的状态
bSel = e.IsSelected;
var ll = listView1.SelectedIndices;
var asd = listView1.CheckedIndices;
// 将上一个设置为未选中
if (e.IsSelected)
{
nCur = e.ItemIndex;
if (nLast < 0)
{
nLast = e.ItemIndex;
}
}
else
{
nLast = e.ItemIndex;
}
if (e.IsSelected)
{
listView1.Items[e.ItemIndex].BackColor = SystemColors.Highlight;
listView1.Items[nLast].BackColor = SystemColors.Window;
}
if (bClickEmpty)
{
listView1.Items[nLast].BackColor = SystemColors.Highlight;
bClickEmpty = false;
nCur = nLast;
}
}
int xPos, yPos;
bool bClickEmpty = false;
private void listView1_MouseMove(object sender, MouseEventArgs e)
{
xPos = e.X;
yPos = e.Y;
}
private void listView1_MouseDown(object sender, MouseEventArgs e)
{
if (listView1.HitTest(xPos, yPos).Item == null) //点击空白处
{
bClickEmpty = true;
}
}