fix: more performant loading
This commit is contained in:
@@ -46,6 +46,18 @@ namespace CarManagerV2
|
|||||||
this.Click += (s, e) => this.OnCardClicked();
|
this.Click += (s, e) => this.OnCardClicked();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async void LoadImage()
|
||||||
|
{
|
||||||
|
await Task.Run(() =>
|
||||||
|
{
|
||||||
|
Image img = ImageManager.GetImage(this.Car);
|
||||||
|
if (img != null)
|
||||||
|
{
|
||||||
|
this.CarImage = img;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void ForwardClick(object sender, EventArgs e)
|
private void ForwardClick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// Raise your CardClicked event no matter what got clicked
|
// Raise your CardClicked event no matter what got clicked
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -71,7 +71,7 @@ namespace CarManagerV2
|
|||||||
card.CarName = $"{car.Make} {car.Model}";
|
card.CarName = $"{car.Make} {car.Model}";
|
||||||
card.CarDetails = $"{car.Year}, {car.Mileage} km, ${car.Price}";
|
card.CarDetails = $"{car.Year}, {car.Mileage} km, ${car.Price}";
|
||||||
card.Car = car.Clone();
|
card.Car = car.Clone();
|
||||||
card.CarImage = await Task.Run(() => ImageManager.GetImage(car));
|
card.LoadImage();
|
||||||
// clear existing event handlers to prevent multiple subscriptions
|
// clear existing event handlers to prevent multiple subscriptions
|
||||||
card.ClearCardClickedHandlers();
|
card.ClearCardClickedHandlers();
|
||||||
card.CardClicked += (s, e) =>
|
card.CardClicked += (s, e) =>
|
||||||
@@ -154,7 +154,7 @@ namespace CarManagerV2
|
|||||||
private async void tbxSearch_TextChanged(object sender, EventArgs e)
|
private async void tbxSearch_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
string query = tbxSearch.Text;
|
string query = tbxSearch.Text;
|
||||||
await Task.Delay(300); // debounce
|
await Task.Delay(100); // debounce
|
||||||
if(query != tbxSearch.Text) return; // text changed during delay
|
if(query != tbxSearch.Text) return; // text changed during delay
|
||||||
//flpCars.Controls.Clear();
|
//flpCars.Controls.Clear();
|
||||||
if (string.IsNullOrWhiteSpace(query))
|
if (string.IsNullOrWhiteSpace(query))
|
||||||
|
|||||||
Reference in New Issue
Block a user