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

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

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

Re[5]: フォーム間の値の受け渡しについて


(過去ログ 71 を表示中)

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

■41405 / inTopicNo.1)  フォーム間の値の受け渡しについて
  
□投稿者/ RT (128回)-(2009/09/19(Sat) 01:20:55)

分類:[C#] 

2009/09/19(Sat) 10:32:22 編集(投稿者)
2009/09/19(Sat) 10:32:17 編集(投稿者)
2009/09/19(Sat) 10:31:24 編集(投稿者)

こんにちは。RTです。

たびたびお世話になります。C#でプログラムを作っております。

さて今回の質問なのですが、フォーム間で、値の受け渡しをしたいのですが、

親子関係を利用して他フォームの値を取得する。(Ownerプロパティ)
↑の方法で、親Formの持っている値を、子Fromに渡す方法は知っているのですが、

子Fromの持っている値を親Fromに渡す方法がわかりません。

アドバイス下さい、お願いします。
引用返信 編集キー/
■41407 / inTopicNo.2)  Re[1]: フォーム間の値の受け渡しについて
□投稿者/ Jitta on the way (441回)-(2009/09/19(Sat) 08:23:13)
No41405 (RT さん) に返信
> こんにちは。RTです。
>
> たびたびお世話になります。
>
> さて今回の質問なのですが、フォーム間で、値の受け渡しをしたいのですが、
>
> 親子関係を利用して他フォームの値を取得する。(Ownerプロパティ)
> ↑の方法で、親Formの持っている値を、子Fromに渡す方法は知っているのですが、
>
> 子Fromの持っている値を親Fromに渡す方法がわかりません。
>
> アドバイス下さい、お願いします。


どの質問掲示板にも2回は質問が上がっている

さがせ
引用返信 編集キー/
■41408 / inTopicNo.3)  Re[1]: フォーム間の値の受け渡しについて
□投稿者/ オショウ (327回)-(2009/09/19(Sat) 08:24:31)
No41405 (RT さん) に返信
> 子Fromの持っている値を親Fromに渡す方法がわかりません。

  モーダルダイアログ表示ですか?
  であれば、Tag使えませんか?

  例えば・・・

        Using objForm As Form2 = New Form2
            Dim dRet As DialogResult
            Dim dt As Integer

            dt = 1

            With objForm
                .Tag = CType(dt, Object)
                dRet = .ShowDialog()
                If dRet = Windows.Forms.DialogResult.OK Then
                    dt = CType(.Tag, Integer)
                    MsgBox(dt.ToString, MsgBoxStyle.Information Or MsgBoxStyle.OkOnly, "Form2 Data")
                End If
            End With
        End Using

  こんな風に・・・

以上。

引用返信 編集キー/
■41417 / inTopicNo.4)  Re[2]: フォーム間の値の受け渡しについて
□投稿者/ RT (129回)-(2009/09/19(Sat) 16:34:23)
No41408 (オショウ さん) に返信
> ■No41405 (RT さん) に返信
>>子Fromの持っている値を親Fromに渡す方法がわかりません。
>
>   モーダルダイアログ表示ですか?
>   であれば、Tag使えませんか?
>
>   例えば・・・
>
> Using objForm As Form2 = New Form2
> Dim dRet As DialogResult
> Dim dt As Integer
>
> dt = 1
>
> With objForm
> .Tag = CType(dt, Object)
> dRet = .ShowDialog()
> If dRet = Windows.Forms.DialogResult.OK Then
> dt = CType(.Tag, Integer)
> MsgBox(dt.ToString, MsgBoxStyle.Information Or MsgBoxStyle.OkOnly, "Form2 Data")
> End If
> End With
> End Using
>
>   こんな風に・・・
>
> 以上。

すいません、題目をC#にするのを忘れていました。出来ればVBではなく、C#でアドバイスお願いします。
引用返信 編集キー/
■41421 / inTopicNo.5)  Re[3]: フォーム間の値の受け渡しについて
□投稿者/ やじゅ (1330回)-(2009/09/19(Sat) 17:05:36)
やじゅ さんの Web サイト
2009/09/19(Sat) 17:07:45 編集(投稿者)

No41417 (RT さん) に返信
> すいません、題目をC#にするのを忘れていました。出来ればVBではなく、C#でアドバイスお願いします。

C#のコードをVB.NETへ変換する、VB.NETのコードをC#へ変換する
http://dobon.net/vb/dotnet/links/convertcs2vb.html
VBのWithってC#でどう書くんですか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28521&forum=7
引用返信 編集キー/
■41428 / inTopicNo.6)  Re[2]: フォーム間の値の受け渡しについて
□投稿者/ RT (130回)-(2009/09/19(Sat) 18:22:22)
No41408 (オショウ さん) に返信
> ■No41405 (RT さん) に返信
>>子Fromの持っている値を親Fromに渡す方法がわかりません。
>
>   モーダルダイアログ表示ですか?
>   であれば、Tag使えませんか?

すいません、検索・置換画面の表示なので、モーダルダイアログ表示ではありません。
引用返信 編集キー/
■41430 / inTopicNo.7)  Re[3]: フォーム間の値の受け渡しについて
□投稿者/ 渋木宏明(ひどり) (1213回)-(2009/09/19(Sat) 18:59:01)
渋木宏明(ひどり) さんの Web サイト
> すいません、検索・置換画面の表示なので、モーダルダイアログ表示ではありません。

伝達したいのは検索条件ですよね?

・子フォームに検索条件を伝達するためのイベントを実装
・子フォームのインスタンス生成時などに、親フォームのイベントハンドラを↑のイベントに接続
・子フォームの検索実行ボタン押下で検索条件を伝達するためのイベントを発火

とすればよろしいんじゃないかと。

引用返信 編集キー/
■41438 / inTopicNo.8)  Re[4]: フォーム間の値の受け渡しについて
□投稿者/ RT (131回)-(2009/09/19(Sat) 19:38:43)
No41430 (渋木宏明(ひどり) さん) に返信
>>すいません、検索・置換画面の表示なので、モーダルダイアログ表示ではありません。
>
> 伝達したいのは検索条件ですよね?
>
伝達したいのは、子フォームで何ボタンが押されたかを表すフラグです。

それによって、エラーメッセージの出し方を使い分けたいと考えております。

検索プログラムは親フォーム側で、行われており、検索・置換画面が、子フォームとなっています。
引用返信 編集キー/
■41439 / inTopicNo.9)  Re[5]: フォーム間の値の受け渡しについて
□投稿者/ 渋木宏明(ひどり) (1216回)-(2009/09/19(Sat) 19:44:09)
渋木宏明(ひどり) さんの Web サイト
> 伝達したいのは、子フォームで何ボタンが押されたかを表すフラグです。

ですか。

そーゆーことなら

・子フォームにどのボタンが押されたのかを伝達するためのイベントを実装
・子フォームのインスタンス生成時などに、親フォームのイベントハンドラを↑のイベントに接続
・子フォームの検索実行ボタン押下で検索条件を伝達するためのイベントを発火

とすればよろしいんじゃないでしょうか。

引用返信 編集キー/
■41441 / inTopicNo.10)  Re[6]: フォーム間の値の受け渡しについて
□投稿者/ RT (132回)-(2009/09/19(Sat) 20:03:22)
No41439 (渋木宏明(ひどり) さん) に返信

> ・子フォームにどのボタンが押されたのかを伝達するためのイベントを実装

まず、第一段階で引っ掛かってしまいます。イベントを実装とはどのようにするのでしょうか?
引用返信 編集キー/
■41450 / inTopicNo.11)  Re[7]: フォーム間の値の受け渡しについて
□投稿者/ 渋木宏明(ひどり) (1217回)-(2009/09/19(Sat) 21:09:49)
渋木宏明(ひどり) さんの Web サイト
> まず、第一段階で引っ掛かってしまいます。イベントを実装とはどのようにするのでしょうか?

この辺が参考になると思います。

イベント (C# プログラミング ガイド)
http://msdn.microsoft.com/ja-jp/library/awbftdfh.aspx

引用返信 編集キー/
■41459 / inTopicNo.12)  Re[8]: フォーム間の値の受け渡しについて
□投稿者/ RT (133回)-(2009/09/19(Sat) 22:16:00)
No41450 (渋木宏明(ひどり) さん) に返信
> > まず、第一段階で引っ掛かってしまいます。イベントを実装とはどのようにするのでしょうか?
>
> この辺が参考になると思います。
>
> イベント (C# プログラミング ガイド)
> http://msdn.microsoft.com/ja-jp/library/awbftdfh.aspx

すいません、紹介して頂いたMSDNなのですが、解釈出来ませんでした。MSDNの資料を見ると、だいたい解釈出来ない事が多いです。
引用返信 編集キー/
■41460 / inTopicNo.13)  Re[2]: フォーム間の値の受け渡しについて
□投稿者/ 倉田 有大 (720回)-(2009/09/19(Sat) 22:25:07)
2009/09/19(Sat) 22:27:02 編集(投稿者)
classの基礎の勉強したほうが、理解が早いと思いますよ。
Formもクラスです。これ重要
子フォームの値が欲しいんですよね?

class ParentForm : Form
{
     private ChildForm childForm;

     public Form()
     {
          childForm = new ChlldForm();
     }

     private void Test()
     {
           string Text = childForm.Text;     
   }
}

class ChildForm : Form
{
     public string Text;
}

一例です。

子フォームがボタンを押された瞬間に反映したい場合は、もうかかれてますがイベントがよさそうですね。

簡単なソースを使って、イベントの実装の勉強をしてください。
イベントに慣れるのにも時間がかかりますので、じっくり勉強してください。

MSDNが難しい場合は、C# イベントで検索したら、わかりやすい例がたくさん出てくると思いますよ。

引用返信 編集キー/
■41471 / inTopicNo.14)  Re[9]: フォーム間の値の受け渡しについて
□投稿者/ Jitta on the way (442回)-(2009/09/20(Sun) 13:26:14)
No41459 (RT さん) に返信
> ■No41450 (渋木宏明(ひどり) さん) に返信
>>> まず、第一段階で引っ掛かってしまいます。イベントを実装とはどのようにするのでしょうか?
>>
>>この辺が参考になると思います。
>>
>>イベント (C# プログラミング ガイド)
>>http://msdn.microsoft.com/ja-jp/library/awbftdfh.aspx
>
> すいません、紹介して頂いたMSDNなのですが、解釈出来ませんでした。MSDNの資料を見ると、だいたい解釈出来ない事が多いです。

なにが 理解できないのか 伝えないと、なんとも言いようがありません。

あなたを教育する義務は、あなたの会社にあります。あなたに割り振った仕事を完了させる義務は、あなたの会社にあります。
まず、あなたの会社の中で、仕事をしましょう。

MSDN は、1ページだけ読んでも、理解しがたいです。関連するページ、同じ階層のページ、子階層のページへと読み広げましょう。
1度読んで解らないなら、3度読み直しましょう。
わからない単語は、検索しましょう。
引用返信 編集キー/
■41472 / inTopicNo.15)  Re[3]: フォーム間の値の受け渡しについて
□投稿者/ RT (134回)-(2009/09/20(Sun) 14:08:01)
2009/09/20(Sun) 14:08:19 編集(投稿者)
No41460 (倉田 有大 さん) に返信
> 2009/09/19(Sat) 22:27:02 編集(投稿者)
>
> classの基礎の勉強したほうが、理解が早いと思いますよ。
> Formもクラスです。これ重要
> 子フォームの値が欲しいんですよね?
>
> class ParentForm : Form
> {
> private ChildForm childForm;
>
> public Form()
> {
> childForm = new ChlldForm();
> }
>
> private void Test()
> {
> string Text = childForm.Text;
>   }
> }
>
> class ChildForm : Form
> {
> public string Text;
> }
>
> 一例です。
>
> 子フォームがボタンを押された瞬間に反映したい場合は、もうかかれてますがイベントがよさそうですね。
>
> 簡単なソースを使って、イベントの実装の勉強をしてください。
> イベントに慣れるのにも時間がかかりますので、じっくり勉強してください。
>
> MSDNが難しい場合は、C# イベントで検索したら、わかりやすい例がたくさん出てくると思いますよ。

基本書を見たらクラス間の値の渡し方が書いてありました。

public staticで宣言した変数などに対して、

オブジェクト名.フィールド名で参照すれば、簡単に出来る事がわかりました。

アドバイスしてくださった皆さん、ありがとうございました。またよろしくお願いします。

解決済み
引用返信 編集キー/
■41473 / inTopicNo.16)  Re[4]: フォーム間の値の受け渡しについて
□投稿者/ 倉田 有大 (721回)-(2009/09/20(Sun) 14:13:03)
> public staticで宣言した変数などに対して、
>
> オブジェクト名.フィールド名で参照すれば、簡単に出来る事がわかりました。
>
> アドバイスしてくださった皆さん、ありがとうございました。またよろしくお願いします。

とりあえず最初は動いたらいいと思うんですが、staticはちゃんと使いどころ考えないと、
再利用や拡張性の利かないフォーム(class)が出来上がってしまいますよー
解決済み
引用返信 編集キー/
■41476 / inTopicNo.17)  Re[5]: フォーム間の値の受け渡しについて
□投稿者/ RT (135回)-(2009/09/20(Sun) 14:25:46)
2009/09/20(Sun) 14:26:06 編集(投稿者)

No41473 (倉田 有大 さん) に返信
>>public staticで宣言した変数などに対して、
>>
>>オブジェクト名.フィールド名で参照すれば、簡単に出来る事がわかりました。
>>
>>アドバイスしてくださった皆さん、ありがとうございました。またよろしくお願いします。
>
> とりあえず最初は動いたらいいと思うんですが、staticはちゃんと使いどころ考えないと、
> 再利用や拡張性の利かないフォーム(class)が出来上がってしまいますよー

引き続き勉強しておきます。アドバイスありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -