コード例 #1
0
        private Task TimKiemTask(ThongTinTimKiem param, CancellationToken token)
        {
            return(Task.Run(() =>
            {
                int dem = 0;
                _danhSach = new BindingList <ThongTinTaiKhoan>();
                XuLyDaLuong.ChangeText(lblTrangThaiTimKiem, "Đang nhận dữ liệu...", Color.Red);
                foreach (var kq in _guiTinNhan.TimKiem(param))
                {
                    if (token.IsCancellationRequested)
                    {
                        break;
                    }
                    if (!_danhSach.Select(p => p.Id).Contains(kq.Id))
                    {
                        _danhSach.Add(kq);
                        Debug.WriteLine($"{kq.Id} - {kq.TaiKhoan}");
                        XuLyDaLuong.ChangeText(lblSoLuongKetQua,
                                               string.Format("Số lượng kết quả: {0}", ++dem), Color.Black);
                    }
                }
                XuLyDaLuong.ChangeText(lblTrangThaiTimKiem, "Hoàn tất tìm kiếm", Color.Green);

                thongTinTaiKhoan_TimKiemBindingSource.DataSource = _danhSach;
                btnTimKiem.Text = "Tìm kiếm (F3)";
                lblSoLuongKetQua.Text = "Số lượng kết quả: " + thongTinTaiKhoan_TimKiemBindingSource.Count.ToString();
                btnTimKiem.BackColor = Color.FromArgb(255, 255, 128);
            }));
        }
コード例 #2
0
        private void backgroundWorkerTimKiem_DoWork(object sender, DoWorkEventArgs e)
        {
            int dem = 0;

            _danhSach = new BindingList <ThongTinTaiKhoan>();
            XuLyDaLuong.ChangeText(lblTrangThaiTimKiem, "Đang nhận dữ liệu...", Color.Red);
            foreach (var kq in _guiTinNhan.TimKiem(e.Argument as ThongTinTimKiem))
            {
                if (backgroundWorkerTimKiem.CancellationPending)
                {
                    break;
                }

                _danhSach.Add(kq);
                XuLyDaLuong.ChangeText(lblSoLuongKetQua,
                                       string.Format("Số lượng kết quả: {0}", ++dem), Color.Black);
            }
            e.Result = _danhSach;
            XuLyDaLuong.ChangeText(lblTrangThaiTimKiem, "Hoàn tất tìm kiếm", Color.Green);
        }