0
正在尋找ListView中的項目的應用程序。我已經添加了一個liitle位邏輯,看起來更好。 首先,我添加了List View Columns
的邏輯 - 適合內容的列大小。 然後通過ID進行搜索 - 正在工作。 我的問題是如果這兩個事件互相依賴?意思..雖然我試圖搜索它獲得不確定的循環與調整大小,它使「崩潰」。我的代碼依賴的是:使用搜索事件調整事件大小是否獨立? ListView + TextBox c#
//調整
void DeviceListView_Resize(object sender, EventArgs e)
{
controller.ResizeColumns((ListView)sender);
}
public void ResizeColumns(ListView lv)
{
foreach (ColumnHeader column in lv.Columns)
{
column.Width = -2;
}
}
//搜索
void SearchBox_TextChanged(object sender, EventArgs e)
{
controller.Search();
}
public void Search()
{
myListView.Items.Clear();
myListView.Items.AddRange(myList.Where(i => string.IsNullOrEmpty(searchBox.Text) || searchBox.Text.Contains("Search") || i.esn.Contains(searchBox.Text))
.Select(c => new ListViewItem (
new string[] {c.ID, c.Name, (...), c.Smth}
)).ToArray());
}
//搜索框佔位
void SearchBox_TextChanged(object sender, EventArgs e)
{
controller.Search();
}
void TextGotFocus(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
if(tb.Text == "Search...")
{
tb.Text = "";
tb.ForeColor = Color.Black;
}
}
void TextLostFocus(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
if(tb.Text == "")
{
tb.Text = "Search...";
tb.ForeColor = Color.LightGray;
}
}
整個應用程序已經有很多代碼行,只是發佈這個。 Btw。我的懷疑是Search
方法中包含:myListView.Items.Clear();
如果我不清除它它不會做任何事情,但搜索將不會有用法。 在此先感謝!