検索をやり直すたびに前の結果が消えてしまう…
そんな悩みを解決するのが、検索結果をタブ形式で残せる機能です!
今回追加する機能
機能 | 内容 |
---|---|
タブ形式の検索結果表示 | 検索ごとに新しいタブを作成し、結果を表示 |
タブの切り替え | 複数の検索結果を並行して比較可能 |
タブの閉じるボタン | 不要になった検索結果は個別に閉じられる |
TabControlの追加と使い方
まず、フォームに TabControl
を追加しておきます。
タブを動的に追加するコード
# 新しいTabPage作成
$tabPage = New-Object System.Windows.Forms.TabPage
$tabPage.Text = "検索 " + (Get-Date).ToString("HH:mm:ss")
# 結果用のListBoxを生成
$listBox = New-Object System.Windows.Forms.ListBox
$listBox.Dock = 'Fill'
$listBox.Items.AddRange($SearchResults)
# タブにListBoxを追加
$tabPage.Controls.Add($listBox)
# TabControlに追加
$TabControl_Results.TabPages.Add($tabPage)
タブに検索条件も表示したい場合
タブ名にキーワードや拡張子などを入れておくと、どの検索かわかりやすくなります。
$keyword = $TextBox_Keyword.Text
$ext = $TextBox_Ext.Text
$tabPage.Text = "[$keyword][$ext]"
タブを閉じる機能(右クリックメニューなど)
# 右クリックでタブを閉じるメニュー追加
$contextMenu = New-Object System.Windows.Forms.ContextMenu
$menuItem = New-Object System.Windows.Forms.MenuItem "タブを閉じる"
$menuItem.add_Click({
$TabControl_Results.TabPages.Remove($TabControl_Results.SelectedTab)
})
$contextMenu.MenuItems.Add($menuItem)
$TabControl_Results.ContextMenu = $contextMenu
UI構成案
- 検索を実行するたびに新しいタブが作られる
- 各タブには ListBox でファイル一覧を表示
- タブ上で右クリックして「閉じる」が選べると便利!
メリット
- 複数の検索結果を保持して比較が可能
- 「前の検索結果もう一度見たい」がすぐできる
- 条件ごとに結果を並べて確認できる
まとめ
タブ表示を取り入れることで、PowerShell検索アプリは一気にプロっぽく進化します!
「複数の条件で調べながら作業したい」という実務にピッタリな機能です!
次回予告
次回は、検索結果のエクスポート(CSVやHTML)機能を追加して、外部に共有できるようにしていきます!
コメント