- PR -

.NET Compact Framework フォームが最小化される

1
投稿者投稿内容
むたろう
会議室デビュー日: 2006/04/08
投稿数: 2
投稿日時: 2006-04-08 21:26
現在、VB.NET2003を使用し、WindowsCE.NET4.0のアプリケーションを作成しています。
そのアプリケーションは、複数のフォームを使用しています。

フォームを切り替える場合は、タスクバーに余計なボタンを表示させないために、
現在のフォームをHideして次のフォームをShowDialogで表示しています。
ところが、現在のフォームをCloseして前のフォームに戻ろうとすると、
前のフォームをShowしても、前のフォームがタスクバーに最小化されたまま
になっています。
フォームのWindowStateをFormWindowState.Normalにしても、表示が変わりません。
FormBorderStyleはFixedToolWindowにしています。

どのようにすれば、この状態を回避できるのでしょうか?
どなたかご存知の方、ご教授お願いいたします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-08 23:55
引用:

むたろうさんの書き込み (2006-04-08 21:26) より:

フォームを切り替える場合は、タスクバーに余計なボタンを表示させないために、
現在のフォームをHideして次のフォームをShowDialogで表示しています。


つまり、こういうことですね。

コード:

    Me.Hide()

    Dim hForm1 As Form1

    Try
        hForm1 = New Form1()
        hForm1.ShowDialog()
    Finally
        If Not hForm1 Is Nothing Then
            hForm1.Dispose()
        End If

        Me.Show()
    End Try


引用:

ところが、現在のフォームをCloseして前のフォームに戻ろうとすると、
前のフォームをShowしても、前のフォームがタスクバーに最小化されたままになっています。


本当に「最小化」なのでしょうか?
Hide されたままと言った方が正しくありませんか?

引用:

フォームのWindowStateをFormWindowState.Normalにしても、表示が変わりません。


上の繰り返しみたいになりますが、WindowState がすでに Normal だからじゃないでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
むたろう
会議室デビュー日: 2006/04/08
投稿数: 2
投稿日時: 2006-04-09 15:16
じゃんぬねっと様

アドバイスいただきありがとうございます。

ソースを見直し、実行してみたのですが、
Showを実行し、デバッガでVisibleを確認すると
Trueになっています。

HeightとWidthを確認しても、デザイン時の大きさなのですが、
画面上は、タスクバーにボタンの状態でしか表示されません。

.NET CFでは、WindowStateはNormalとMaximizedしかないので
「最小化」という言い方はおかしいのかもしれませんが、
そのような状態なのです。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-09 22:50
引用:

むたろうさんの書き込み (2006-04-09 15:16) より:

「最小化」という言い方はおかしいのかもしれませんが、そのような状態なのです。


WindowState.Maximized を設定してみるとどうなりますか?
新規プロジェクトからミニマム テストもやってみてください。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)