我正在使用来自brightideassoftware 的treelistview,并想在我的treelist 中选择一个特定的孩子。
我的对象的类型是“MeasurementFile”。
public class MeasurementFile
{
private string fileName = string.Empty;
private List<SignalObjects> signals = new List<SignalObjects>();
...
}
孩子的类型是“SelectObjects”:
public class SignalObjects
{
private string signalName = string.Empty;
public SignalObjects(string signalName)
{
this.signalName = signalName;
}
public string SignalName { get { return signalName; } }
}
所以每个MeasurementFile都有一个信号列表。
我的树列表视图看起来像:
MyWinForm:
name/signal //Column
-myFile1
|_____signal1
|_____signal2
|_____signal3
-myFile2
-myFile3
-myFile4
现在我想搜索一个特定的孩子。如果MeasurementFileobject 已展开并且我在searchTextEdit 中输入了一些内容,则应选择所有匹配的子项。如果我在搜索栏中输入“al1”,则应选择名为“signal1”的孩子。
我的问题是:如何选择匹配的孩子?
我试过了 ...
private void searchSignalTextEdit_TextChanged(object sender, EventArgs e)
{
string text = searchSignalTextEdit.Text;
if (!String.IsNullOrEmpty(text))
{
foreach (MeasurementFile measurementFile in treeListView1.Objects)
{
if (treeListView1.IsExpanded(measurementFile))
{
foreach (SignalObjects signal in measurementFile.getSignals)
{
if (signal.SignalName.Contains(text))
{
treeListView1.SelectObject(signal);
}
}
}
}
}
}
...但没有选择任何内容。如果有人可以帮助我,我会很高兴:)