Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
WindowsFormsApplicationBase.OpenFormsとForm.ShowInT
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30929#CommentId86040
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
Tさん
 (社会人)
投稿日時
2023/12/15 12:48:40
.net Framework 4.8でWindowsフォームアプリを開発しているのですが、下記の事象が起きて困っております。
フォームを表示した状態から閉じるときにCloseをCancelし、
WindowStateをMinimized
ShowInTaskbarをFalse
Formを.Hide
としてバックグラウンドで稼働させたままにしています。
その後、タスクバーなどから再度フォーム表示させるために
WindowStateをNormal
ShowInTaskbarをTrue
Formを.Show
として表示しています。
その後、同フォームの処理で
WindowsFormsApplicationBase.OpenForms
で開いているフォームを取得すると
フォームが開いているにも関わらず
OpenForms内のフォームがない状態になります。
(OpenForms.Count=0)
確認したところ
ShowInTaskbar=True
の処理の前はOpenForms内には開いてるFormが入っており、
処理後にOpenForms内が空になっています。
何故か、ShowInTaskbar=Trueのあとに
Form.Hideをしたあと
Form.Showすると
その時ShowしたFormはOpenForms内に入ります。
(その他のフォームが開いていた場合でもShowしたFormのみがOpenForms内に入ります。
現状、フォーム(Form1)内にフォーム(Form2)を表示しており上記処理ではForm1のみOpenForms内に入ります。)
原因、解決策、対策わかる方おりますでしょうか?
ド素人のため、いろいろ調べましたが原因等が見つかりませんでした。
よろしくお願いします。