- ふらっと C#,C♯,C#(初心者用) Part114©2ch.net
852 :デフォルトの名無しさん[sage]:2015/03/11(水) 18:20:50.70 ID:RyKtCrlD - ログインが必要な画面の派生元フォームのLoadイベントでログイン画面をShowDialogし、
ログイン画面が閉じてからログインが必要な画面を表示してたのですが、 ログインが必要な画面のWindowStateをデザインでMaximizedにしたら、 ログイン画面と同時にログインが必要な画面が裏で表示されるようになりました。 これを止めてログイン画面が閉じてからログインが必要な画面を表示させるにはどうしたらよいでしょうか? ログインが必要な画面のLoadイベントでログイン画面表示の前にVisibleをfalseにしたら一瞬見えてから消えます。 コンストラクタでVisibleをfalseにしたら無視されます。 MaximizedをデザインでなくShownイベントにしたら一瞬広がる前の画面が見えてしまいます。
|
- ふらっと C#,C♯,C#(初心者用) Part114©2ch.net
854 :852[sage]:2015/03/11(水) 18:49:20.59 ID:RyKtCrlD - えっと、ログイン画面後にMaximizedにしたら普通に解決しましたw
最大化要件を持つ派生元フォームと、ログイン要件を持つ派生元フォームが別々だったので勘違いがありました。 両方のLoadイベントをOnLoadでoverrideしないと止められませんわね。 止める側だけOnLoadにして駄目かと早合点しました。
|
- ふらっと C#,C♯,C#(初心者用) Part114©2ch.net
855 :デフォルトの名無しさん[sage]:2015/03/11(水) 19:05:58.37 ID:RyKtCrlD - しかし、「表示される直前」と言ってるイベントより前に表示されてしまうのはC#のバグと言わざるを得ませんわね
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.form.load(v=vs.110).aspx > Form.Load イベント > フォームが初めて表示される直前に発生します。
|
- ふらっと C#,C♯,C#(初心者用) Part114©2ch.net
861 :デフォルトの名無しさん[sage]:2015/03/11(水) 20:10:08.30 ID:RyKtCrlD - >>860
トップ画面はログイン不要で、遷移先によってログインの要不要がある要件なので よくよく考えると汎用機のイメージをPCに持ち込みたい古臭い客の要求なので、変な要件ですわね 自分で設計したらそもそもWindowsログインを拾うからログイン画面自体ないですな それが一番セキュリティレベルも高い上に利便性も高いはず
|
- ふらっと C#,C♯,C#(初心者用) Part114©2ch.net
873 :デフォルトの名無しさん[sage]:2015/03/11(水) 23:07:45.44 ID:RyKtCrlD - >>872
シングルスレッドに「無茶」とか「ただちに」なんて概念はありませんw 「直前」は「直前」、モーダルはモーダルです 言語仕様がやや怪しげではあるけど… トップ画面で閉じると他の画面のFormClosedイベントが起きなかったり これはシングルスレッドの怪しさとは別で、そういう仕様を意図的に選定したんでしょうが 見た目のオブジェクトの動き通りにイベントが起きないと、 オブジェクト指向の神様か、イベントドリヴンの神様か、いずれかの神様に怒られますよ
|