DOBON.NET DOBON.NETプログラミング掲示板過去ログ

画面起動について

環境/言語:[Wix XP,Framework 1.1]
分類:[.NET]

ログイン画面で以下@〜Aの順に画面を
同時に起動してます

@メニュー画面(Show)
A選択画面(Owner=@でShow)

すると、起動後のA画面
が固まってしまいます
(フォーカスが入らなく、画面が閉じない
画面右上の「×」も押せない)
初歩的な事なのでしょうか?
教えてください

(補足)@のOnLoad,OnActivated時に
以下の様にAを起動(サンプル)
Dim ___F As New Form1
___F.Owner = Me
___F.Show()
___F.Activate()
  • 題名: Re[1]: 画面起動について
  • 著者: あおぞら
  • 日時: 2006/02/06 16:06:32
  • ID: 14874
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
お世話になります。

絶対に@起動>Aで選択を強要するのであれば
_F.ShowDialog()
_F.Dispose()
でもいいのかな
モーダルダイアログならフォーカスの変更が出来ないから
_F.Activate() も必要なくなると思います。

じゃんぬねっと様のWebSiteに詳しく紹介されていますよ。
(私もお世話になりました)
# 機種依存文字を、書き換えさせて頂いております。

■No14871に返信(りんごさんの記事)
> (1) メニュー画面(Show)
> (2) 選択画面(Owner=(1) でShow)

メニュー画面にも親がいる、ということでしょうか? (Show と書いてあるので)

> すると、起動後の (2) 画面が固まってしまいます

通常はそんなことはないのでしょうが、

> (補足)(1) のOnLoad,OnActivated時に

これ、まずいです。
何故こんなところに実装を??

そして、OnActivate に以下のコードを実装しては無限ループになる可能性がありませんか?

> 以下の様に (2) を起動(サンプル)
> Dim ___F As New Form1
> ___F.Owner = Me
> ___F.Show()
> ___F.Activate()

Active になった時に再入しますよね。

> (フォーカスが入らなく、画面が閉じない
> 画面右上の「×」も押せない)

ここからして無限ループではないかと、勝手ながら予想致しました。


_________________________________________________________________________
じゃんぬ - Microsoft MVP for Visual Developer C#
  http://jeanne.wankuma.com/
  http://blogs.wankuma.com/jeanne/
回答有難うございます

あおぞら様
訂正です
>(1) メニュー画面(Show)
(1) メニュー画面(ShowDialog)

_F.ShowDialog()
したらタスクバーには存在するので
実際の画面が消えてしまいました
(タスクバーでクリックしても
画面が表示されない?)
仕組み上、できればShowで起動したいのですが..

じゃんぬねっと様
> メニュー画面にも親がいる、ということでしょうか? (Show と書いてあるので)
訂正です(ShowDialogしていました)

> 通常はそんなことはないのでしょうが、
簡単なサンプルで確認してみたら
正常起動しました

> そして、OnActivate に以下のコードを実装しては無限ループになる可能性がありませんか?
説明不足でした。考慮してます

テストでとりあえずLOAD内でShowしたんですが
画面が固まるので、メニュー表示中に
他画面をShowするのはまずいのかと思い
Activate後にShowしてみたんですけど
結果はNGでした

現状、メニュー起動後に何かクリックイベントで
(2)を起動すると、正常起動します
何かメニューの作りに問題があるのかな
と思うのですが?
まだ調査中です....
訂正です
>> 通常はそんなことはないのでしょうが、
>簡単なサンプルで確認してみたら
>正常起動しました

うそでした
ShowDialogした画面から
他画面をShowしたら
固まりました
■No14880に返信(りんごさんの記事)
> うそでした
> ShowDialogした画面から
> 他画面をShowしたら固まりました

固まるは不適切な表現かもしれません。
ブレークポイントからインラインで追ってみると良いでしょうね。


_________________________________________________________________________
じゃんぬ - Microsoft MVP for Visual Developer C#
  http://jeanne.wankuma.com/
  http://blogs.wankuma.com/jeanne/
  • 題名: Re[5]: 画面起動について
  • 著者: りんご
  • 日時: 2006/02/06 20:53:03
  • ID: 14885
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
あれこれやって
解決できないので
Show→ShowDialogする事で対応しました
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板