Я пытаюсь обновить список, используя timer
. код работает нормально, однако проблема в том, что selectedindex
мигает, может быть, потому, что данные/ui перезагружаются каждый раз в 1сек.Мигает selectedindex в listview
Что я хочу, когда пользователь перемещается Я хочу, чтобы selectedindex
сохранялся, не мигая подсветкой текущего списка.
145
номер транзакции подсвечивается ... он мигает подсветкой каждые 1 сек из-за таймера. как я могу помешать этому мигать? спасибо заранее ...
вот мой код:
public OrderCashieringView()
{
Timer time = new Timer();
time.Interval = (10 * 100);
time.Tick += time_Tick;
time.Start();
}
void time_Tick(object sender, EventArgs e)
{
if (lstOrders.IsDisposed == false)
{
int CurrentRow = lstOrders.SelectedIndex;
LoadDataCore();
lstOrders.SelectedIndex = CurrentRow;
}
}
void LoadDataCore()
{
if (txtSearchOrderNumber.Text == String.Empty)
{
_model = svc.GetForPayment();
}
else
{
_model = svc.GetForPayment().Where(a => a.TransactionNumber.Contains(txtSearchOrderNumber.Text)).ToArray();
}
if (lstOrders.InvokeRequired)
{
this.Invoke(new MethodInvoker(() =>
{
lstOrders.DataSource = _model.ToArray();
}));
}
else
{
lstOrders.DataSource = _model.ToArray();
}
}
При необходимости вызовите методы «BeginUpdate» и «EndUpdate» в режиме просмотра списка. –
@SamAxe uhmm ... это до и после «LoadDataCore»? –
Прочитайте документацию по этим функциям, и вы узнаете. –