private async void AddQQToLv(IQQClient qq) { await qq.GetUserLevel(qq.Account).WhenFinalEvent().ConfigureAwait(false); var subitems = new[] { lvQQList.Items.Count.ToString(), qq.Account.QQ.ToString(), qq.Account.ClientType.ToString(), qq.Account.Status.ToString(), qq.Account.LevelInfo.Level.ToString(), qq.Account.LevelInfo.RemainDays.ToString(), }; var item = new ListViewItem(subitems) { Selected = true }; var index = lvQQList.FindFirstItemIndex(qq.Account.QQ.ToString(), new[] { 1 }); if (index < 0) { lvQQList.InvokeIfRequired(() => { lvQQList.Items.Add(item); }); } else { lvQQList.InvokeIfRequired(() => { lvQQList.UpdateItem(index, item, new[] { 2, 3, 4, 5 }); }); } }