簡體   English   中英

在 C# 中使用文本框動態搜索列表框

[英]Dynamically search listbox using textbox in C#

我有一個包含一些設備的數據庫,我希望在我的文本框中輸入時能夠在我的列表框中動態搜索。 我在 StackOverflow 上嘗試了一些其他建議: 動態搜索結果 C#

到目前為止,我有這個:

    List<Device> devices = new List<Device>();

    private void UpdateBindings()
    {
        deviceFoundListbox.DataSource = devices;
        deviceFoundListbox.DisplayMember = "FullInfo";
    }

    private void searchTextbox_TextChanged(object sender, EventArgs e)
    {
        DataAccess database = new DataAccess();
        devices = database.GetDevice(searchTextbox.Text);
        lock(lockObject)
        {
            lastChange = DateTime.Now;
            textChanged = true;
        }
    }

    private void dynamicSearchTimer_Tick(object sender, EventArgs e)
    {
        lock(lockObject)
        {
            if(textChanged && lastChange > DateTime.Now.AddSeconds(-2))
            {
                UpdateBindings();
                textChanged = false;
                lastChange = DateTime.Now;
            }
        }
    }

但是,我似乎無法讓它工作。

任何幫助表示贊賞!

編輯:設備類:

internal class Device
{
    public string DeviceName { get; set; }
    public string SerialNumber { get; set; }
    public string LoanStatus { get; set; }
    public string Initials { get; set; }

    public string FullInfo
    {
        get
        {
            return $"Device: {DeviceName} S/N: {SerialNumber} Loaner Status: {LoanStatus} Initials: {Initials}";
        }
    }
}

結果已分配給“設備”,您正在將“設備”更新為數據源?

如何分配:device = database.GetDevice(searchTextbox.Text); 什么返回 database.GetDevice(); 添加設備列表時是否有設備聲明? 還是您將設備添加到設備? 您基本上可以使用devices.Add(database.GetDevice());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM