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

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

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

フォームの遷移


(過去ログ 6 を表示中)

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

■6860 / inTopicNo.1)  フォームの遷移
  
□投稿者/ miyuki 二等兵(5回)-(2006/09/26(Tue) 18:03:01)

分類:[C#] 


分類:[C#] 

C#で
Aの画面には、「検索ボタン」と「表示ボタン」とグリッド
Bの画面には、「更新ボタン」と「閉じるボタン」とテキストボックス
があります。
手順としては、
・A画面で検索ボタンを押下し、そのデータがグリッドに表示されます。
・グリッドを行選択し、「表示ボタン」を押すと、B画面が開き、Aの選択行のデータがB画面のテキストボックスに表示されます。
・B画面のテキストボックスの値を変更し、「更新ボタン」を押すと、更新します。
・「閉じるボタン」を押すと、Aの画面に戻り、更新した内容が再ロードされます。
このような手順になっています。
A→Bには値を渡せ、更新まで処理は出来るのですが、
Bを閉じた後Aの再ロードという仕組みが出来ません。
Bを閉じてもAのどのイベントで拾えるのか分からないのです。
ロードでも拾えませんでした。
A画面からB画面を開く時は、ShowDialogで開いています。
これがイベントを拾えない原因だと思っています。
しかし、他にどうやって画面を開いて値を渡し制御していくか?分かりません。
ShowDialog以外を使って、上記の仕組みを作り、再ロードも出来るようにはどうすればいいのでしょうか?
知っている方がいましたらアドバイスよろしくお願いします。
(Application.runもスレッドが複数出来るようなエラーが出てしまって不可能でした)


0
引用返信 編集キー/
■6861 / inTopicNo.2)  Re[1]: フォームの遷移
□投稿者/ 佐久 二等兵(1回)-(2006/09/26(Tue) 18:40:22)

分類:[C#] 

Bの画面を閉じた時のイベントで、
Aにある再ロードのメソッドを呼ぶのはどうでしょ

0
引用返信 編集キー/
■6862 / inTopicNo.3)  Re[2]: フォームの遷移
□投稿者/ ぽぴ王子 伍長(56回)-(2006/09/26(Tue) 19:57:13)
ぽぴ王子 さんの Web サイト

分類:[C#] 

こんばんは。

基本的には佐久さんの発言のように、B画面を閉じたタイミングでA画面の再ロー
ドメソッド(別途用意しておきます)を呼べばいいと思います。

B画面を ShowDialog で開いているということなので、A画面はB画面が開いてい
る間は処理が止まったままの状態になっているはずです。そしてB画面が閉じら
れることでA画面の処理が再開するので、そこに再ロードメソッドを呼び出す処
理を書いてあげればいいのではないでしょうか。

むしろそのあたりの応用というか、ちょっとした考え方の辺りからつまづいてい
るような印象を受けますので、できれば基礎から正しく学んだほうがいいかもし
れないですね。
ちなみに私はそういった書籍やページは存じません。

0
引用返信 編集キー/
■6865 / inTopicNo.4)  Re[3]: フォームの遷移
□投稿者/ ダッチ 一等兵(26回)-(2006/09/26(Tue) 21:54:48)

分類:[C#] 

Messagebox を表示したことはありますでしょうか。

動きとしては Messagebox を表示して、閉じられたら
何らかの処理を行いたいというのと同じですよ。

Messagebox を表示したことがないのであれば、
よくわからないかもしれませんが
ダイアログ表示する基本は私は Messagebox だと思っていますので、
試してみて損はないと思います。


0
引用返信 編集キー/
■6866 / inTopicNo.5)  Re[4]: フォームの遷移
□投稿者/ miyuki 二等兵(6回)-(2006/09/26(Tue) 22:15:26)

分類:[C#] 

アドバイスありがとうございます。
一応、最初は、ShowDialogの下にイベントを書いておいたのですが、
正直、あまり綺麗なロジックというイメージがありませんでした。
確かにShowDialogの下にイベントを書いておけば大丈夫なのですが、
他に方法などは無いのでしょうか?
この方法がやはり一番なのでしょうか?
勉強にもなるので、いろいろと言っていただけたら光栄です。
よろしくお願いします。
(application.runを見つけた時もこれだ!って思ったのですが、うまくいかずです・・・。勉強の為にもいろいろと知っておきたいです。)

0
引用返信 編集キー/
■6869 / inTopicNo.6)  Re[5]: フォームの遷移
□投稿者/ ダッチ 一等兵(27回)-(2006/09/26(Tue) 22:30:10)

分類:[C#] 

> 確かにShowDialogの下にイベントを書いておけば大丈夫なのですが、
> 他に方法などは無いのでしょうか?
> この方法がやはり一番なのでしょうか?

ShowDialog の後に続けて行いたい処理を記載するのが私はベストだと思っています。
イベントを書くというのがちょっとわかりませんが?

> 一応、最初は、ShowDialogの下にイベントを書いておいたのですが、
> 正直、あまり綺麗なロジックというイメージがありませんでした。

実際にどのようなロジックになっているのでしょうか。
見せていただいたほうが指摘しやすいと思います。

0
引用返信 編集キー/
■6871 / inTopicNo.7)  Re[5]: フォームの遷移
□投稿者/ まどか 大佐(238回)-(2006/09/27(Wed) 00:10:11)

分類:[C#] 

> 一応、最初は、ShowDialogの下にイベントを書いておいたのですが、

すでに指摘が入っていますが、「イベント」は通知(アクション)のことで
いわゆる処理を指すものではありません。
たぶん「該当する処理」という意味で使われていらっしゃると思いますが
言葉の意味がはっきりしているがゆえに余計に混乱しますので使い分けに注意してください。

> 正直、あまり綺麗なロジックというイメージがありませんでした。
> 確かにShowDialogの下にイベントを書いておけば大丈夫なのですが、
> 他に方法などは無いのでしょうか?
> この方法がやはり一番なのでしょうか?

ShowDialogは閉じられるまで呼び出し元のShowDialogで止まったままになる仕様(大前提)です。
なのでShowDialogの直後に閉じられた後の処理を書くことは自然であり何の躊躇も必要ありませんよ。
後はBに結果を通知するための手段を用意してあげればよいでしょう。

0
引用返信 編集キー/
■6873 / inTopicNo.8)  Re[6]: フォームの遷移
□投稿者/ miyuki 二等兵(7回)-(2006/09/27(Wed) 01:50:54)

分類:[C#] 

みなさんありがとうございます!
また明日、ソースを載せたいと思います。
(今、手元に無いので・・・)
先輩に言われたのは、showdialogをとにかく使うな!という事だったのでした。
フォームは一つ一つ独立しているような感じで・・・。
複雑になればなるほど、showdialogの後に書いていったら、ごちゃごちゃになる・・・などいろいろと怒られました。
なぜ、他のやり方では無理なのだ!と注意されましたが、言い返す事は出来ませんでした。
自分としては、showDialogにしなければ次のフォームに値を渡す事は絶対不可能と
思っていたので、showDialogを使用していました。
しかし、私は技術的には不足しているので、ベテランの方はどのようにフォームからフォームに遷移して値を渡して処理をしているのか?
とても知りたいと思って、このような質問になりました。
イベントの事は申し訳ございません。
イベント=処理という感じで使ってしまいました。
私が思っているように、showDialogでフォームを表示しない限り、値が渡せないという見解はあっているのでしょうか?
(これさえ分かればある意味、ほぼ答えを頂いたようなものなのですが・・・)
他にもまだアドバイスありましたらよろしくお願いします。
(ある先輩はvbの時はwitheventsでやってたとか言われたのですが・・・。とにかく私は迷ってばかりです。)

0
引用返信 編集キー/
■6878 / inTopicNo.9)  Re[7]: フォームの遷移
□投稿者/ まどか 大佐(239回)-(2006/09/27(Wed) 11:47:30)

分類:[C#] 

フォームの表示形態と、値の連携の仕方は別のことになります。

> 先輩に言われたのは、showdialogをとにかく使うな!という事だったのでした。
> フォームは一つ一つ独立しているような感じで・・・。

それには意味があるはずです。
各フォームの役割とフォーム間の関係を聞いてみるとよいでしょう。

> 私が思っているように、showDialogでフォームを表示しない限り、値が渡せないという見解はあっているのでしょうか?

結論は、あっていませんです。
プロパティ(値の参照と設定)とイベント(通知)について理解されるとよいでしょう。


0
引用返信 編集キー/
■6883 / inTopicNo.10)  Re[8]: フォームの遷移
□投稿者/ 佐久 二等兵(2回)-(2006/09/27(Wed) 15:26:44)

分類:[C#] 

> showDialogにしなければ次のフォームに値を渡す事は絶対不可能と思っていたので

ここがちょっと判んないんですけど、今ってどうやって値を渡してるんですか?

> showDialogでフォームを表示しない限り、値が渡せないという見解はあっているのでしょうか?

これは違いますね。
showDialogはモーダル表示するってだけで、
値の渡し方は他の表示方法でも同じではないでしょうか。

0
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -