private void ButtonSearch_Click(object sender, EventArgs e) { try { ListBoxFounds.Items.Clear(); // 検索 List <List <String> > aRecords = NklCommon.FindCsvRecordsIncludes(mCsvs, mColumnIndex, TextBoxKeyword.Text); if (aRecords.Count == 0) { ShowLogMessage(TraceEventType.Error, "「" + TextBoxKeyword.Text + "」を含む" + mItemName + "はありません。"); return; } // 重複を除外 List <String> aHits = new List <String>(); for (Int32 i = 0; i < aRecords.Count; i++) { String aName = aRecords[i][mColumnIndex]; if (!String.IsNullOrEmpty(aName) && !aHits.Contains(aName)) { aHits.Add(aName); } } aHits.Sort(); // リストボックスに表示 ListBoxFounds.Items.AddRange(aHits.ToArray()); ListBoxFounds.Focus(); ListBoxFounds.SelectedIndex = 0; } catch (Exception oExcep) { ShowLogMessage(TraceEventType.Error, "情報検索時エラー:\n" + oExcep.Message); ShowLogMessage(TraceEventType.Verbose, " スタックトレース:\n" + oExcep.StackTrace); } }