トップページ > プログラム > 2015年03月11日 > RyKtCrlD

書き込み順位&時間帯一覧

7 位/176 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000002110015



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
852
ふらっと C#,C♯,C#(初心者用) Part114©2ch.net

書き込みレス一覧

ふらっと 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イベントが起きなかったり
これはシングルスレッドの怪しさとは別で、そういう仕様を意図的に選定したんでしょうが
見た目のオブジェクトの動き通りにイベントが起きないと、
オブジェクト指向の神様か、イベントドリヴンの神様か、いずれかの神様に怒られますよ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。