1

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

今、私は特定の子供を探したいと思っています。MeasurementFile オブジェクトが展開され、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);
                            }
                        }
                    }
                }
            }
        }       

...しかし、何も選択されていません。誰かが私を助けてくれたらうれしいです:)

4

1 に答える 1