C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: アクティブになっていない他のFormを再表示するには


(過去ログ 77 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■45457 / inTopicNo.1)  アクティブになっていない他のFormを再表示するには
  
□投稿者/ ラテラル (3回)-(2010/01/13(Wed) 14:53:07)

分類:[.NET 全般] 

御世話になっております。
初心者で申し訳ございませんが、ご質問させてください。

メインフォームをAとし、Aにある設定ボタン押下で、開いたフォームをBとします。
BはAの設定フォームになります。
BでAの設定をし、OKボタン押下で、
Bで設定された内容をAに反映させようとします。
反映させるには、設定OK押下時に、AのFormLoadを、再度行いたいと考えました。
(再度行なうというのはAのフォームから設定画面を開くのでAは必ず一度Loadしている状態となっているため)

設定OK押下時に、Aに対してrefuresh,updateメソッドを使っても特に反応せず、
Aを一度hideし、showをしても特に反応してくれませんでした。

どのようにすればよろしいでしょうか。
ご教授お願いします。

引用返信 編集キー/
■45458 / inTopicNo.2)  Re[1]: アクティブになっていない他のFormを再表示するには
□投稿者/ επιστημη (2381回)-(2010/01/13(Wed) 15:04:55)
επιστημη さんの Web サイト
> 反映させるには、設定OK押下時に、AのFormLoadを、再度行いたいと考えました。

なんでそんなマンドクセーことすんのぉ?

FormAの「設定ボタン」が押された(...) {
  FormB form = new FormB();
  if ( form.ShowDialog() == DialogResult.OK ) {
    formから設定内容を読み出して反映する。
  }
}

んじゃダメなんすか?

引用返信 編集キー/
■45459 / inTopicNo.3)  Re[2]: アクティブになっていない他のFormを再表示するには
□投稿者/ ラテラル (4回)-(2010/01/13(Wed) 15:18:33)
No45458 (επιστημη さん) に返信
> > 反映させるには、設定OK押下時に、AのFormLoadを、再度行いたいと考えました。
>
> なんでそんなマンドクセーことすんのぉ?
>
> FormAの「設定ボタン」が押された(...) {
> FormB form = new FormB();
> if ( form.ShowDialog() == DialogResult.OK ) {
> formから設定内容を読み出して反映する。
> }
> }
>
> んじゃダメなんすか?
>

申し訳ないです。
都合上、AのFormLoadを再度行ないたいのですが、難しいでしょうか。
引用返信 編集キー/
■45460 / inTopicNo.4)  Re[3]: アクティブになっていない他のFormを再表示するには
□投稿者/ επιστημη (2382回)-(2010/01/13(Wed) 15:26:50)
επιστημη さんの Web サイト
> 都合上、AのFormLoadを再度行ないたいのですが、難しいでしょうか。

一旦Closeしていいなら、再度newすることでLoadイベントが起こるとは思いますけど。

あるいはClose/newせずともHide/ShowのたびにActivatedイベントが
飛んでくれるなら(要確認)、Loadイベントの代わりに使えるかもです。

引用返信 編集キー/
■45461 / inTopicNo.5)  Re[4]: アクティブになっていない他のFormを再表示するには
□投稿者/ ラテラル (5回)-(2010/01/13(Wed) 15:27:56)
No45460 (επιστημη さん) に返信
>>都合上、AのFormLoadを再度行ないたいのですが、難しいでしょうか。
>
> 一旦Closeしていいなら、再度newすることでLoadイベントが起こるとは思いますけど。
>
> あるいはClose/newせずともHide/ShowのたびにActivatedイベントが
> 飛んでくれるなら(要確認)、Loadイベントの代わりに使えるかもです。
>

System.Windows.Forms.Application.Restart()で再起動し、対処することにいたしました。
解決済み
引用返信 編集キー/
■45462 / inTopicNo.6)  Re[3]: アクティブになっていない他のFormを再表示するには
□投稿者/ taka (2回)-(2010/01/13(Wed) 15:30:59)
No45459 (ラテラル さん) に返信
> ■No45458 (επιστημη さん) に返信
>>> 反映させるには、設定OK押下時に、AのFormLoadを、再度行いたいと考えました。
>>
>>なんでそんなマンドクセーことすんのぉ?
>>
>>FormAの「設定ボタン」が押された(...) {
>> FormB form = new FormB();
>> if ( form.ShowDialog() == DialogResult.OK ) {
>> formから設定内容を読み出して反映する。
>> }
>>}
>>
>>んじゃダメなんすか?
>>
>
> 申し訳ないです。
> 都合上、AのFormLoadを再度行ないたいのですが、難しいでしょうか。

http://d.hatena.ne.jp/Kazzz/20070913/p4によるとFormのLoadイベントはShowDialogが呼ばれたタイミングで発生する(Showでもいいかな?)
ので自分自身でShowなりShowDialogなりを呼べばLoadイベントが走るかもしれません。
#すいませんが実験はしてません

つまり設定ボタンを押下してFormBを表示し、BからAに処理が戻ったタイミングでthis.Show()みたいな感じですかね

にしたってなんでLoadで処理をしたいのかがよくわかりません。

引用返信 編集キー/
■45464 / inTopicNo.7)  Re[4]: アクティブになっていない他のFormを再表示するには
□投稿者/ επιστημη (2383回)-(2010/01/13(Wed) 15:34:54)
επιστημη さんの Web サイト
> LoadイベントはShowDialogが呼ばれたタイミングで発生する

へぇ(×17)。 知らなんだー
# Hide/Showの繰り返しではLoadイベント出ないそぉです。



引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -