C#で、現在開いているフォームの一覧を取得する場合にはApplication.OpenFormsを使用します。サンプルプログラムは以下のようになります。
foreach(Form frm in Application.OpenForms)
{
ListBox.Items.Add(frm.Name);
}
意外と簡単に取得できます。
これとは別の話になりますが、Excelのブックやシートを印刷するPrintOutメソッドがvoidだったので、なんの例外が発生しているかがわからないので、ちょっと使いづらいなと思いました。PDFやMicrosoft Office Document Image Writerを使用して印刷するときに、最後の引数、PrintDialog.PrinterSettings.PrintFileNameにポート名が入ってくるので、エラーになることがありますんので、注意してください。
foreach(Form frm in Application.OpenForms)
{
ListBox.Items.Add(frm.Name);
}
意外と簡単に取得できます。
これとは別の話になりますが、Excelのブックやシートを印刷するPrintOutメソッドがvoidだったので、なんの例外が発生しているかがわからないので、ちょっと使いづらいなと思いました。PDFやMicrosoft Office Document Image Writerを使用して印刷するときに、最後の引数、PrintDialog.PrinterSettings.PrintFileNameにポート名が入ってくるので、エラーになることがありますんので、注意してください。