No.3ベストアンサー
- 回答日時:
普通にメソッドに変数を渡すのと一緒の感じでいいですよ。
例えば、フォームのコンストラクタに渡す感じで。
A_Form : メインフォームの型
B_Form : サブフォームの型
C_Form : 子フォームの型
とします。
class B_Form : Form
{
private A_Form main_form;
public B_Form(A_Form a)
{
main_form = a;
}
}
class C_Form : Form
{
private A_Form main_form;
public C_Form(A_Form a)
{
main_form = a;
}
}
public void some_function()
{
A_Form a = new A_Form();
B_Form b = new B_Form(a);
C_Form c = new C_Form(a);
}
といった感じになるかと。
最後のメソッドはたとえばなので、参考程度に。
http://www.stackasterisk.jp/tech/dotNet/csharp02 …
No.2
- 回答日時:
Mainのコードもお願いすればよかったですね。
えっと、現状のところで思ったことは、もしかして、最初に作成されるメインフォームのインスタンスのほかに別のメインフォームのインスタンスを作成してそれのテキストボックスに入れているのではないでしょうか?
>>尚、このときshowを使うと、新しいメインフォームがでて、新しいtextboxには表示されてました。
このコメントからたぶんそうだろうと思うのですが、はずしてたらすみません。
もしこれであれば、解決法としては以下のようなものがあるかと思います。
まず整理すると、呼び出されているフォームの関係は、
メインフォーム>>>サブフォーム>>>子フォーム
ですので、メインフォームのメンバーのtextboxに文字列を書き込みたいなら、子フォームがメインフォームのインスタンスの情報を持っていなければ書き込むことができません。ということは、メインフォームのインスタンスのデータを(便宜的にinstanceとします)受け渡さないといけません。
メインフォーム>>instanceを渡す>>サブフォーム>>instanceを渡す>>子フォーム
で、子フォームでその値を使って
instance.textbox.Text = "aaaa";
でいいと思います。
(実際に動かしているわけではないので、うまく動かないときはすみません。レスくれましたら、対応したいと思います。)
この回答への補足
>>えっと、現状のところで思ったことは、もしかして、最初に作成されるメインフォームのインスタンスのほかに別のメインフォームのインスタンスを作成してそれのテキストボックスに入れているのではないでしょうか?
まさしくビンゴです。
まったくの初心者なので恥ずかしいですが、「インスタンスのデータを受け渡さないといけない」とのことですが、インスタンスを渡すコードかそれを説明しているサイトを教えて頂けないでしょうか?
宜しくお願いします。
No.1
- 回答日時:
出来れば、ソースを載せていただけるとレスがつきやすいとおもいますよ。
出すところは、・メインのフォームのフィールドの定義、サブフォームの呼び出し、メインのフォームのテキストボックスの定義の仕方
・サブのフォームでのクラスの呼び出し、クラスの定義、クラスの中でのメインのテキストボックスへの書き込みのところ
のあたりがあるとよいかもしれません。
この回答への補足
解答ありがとうございます。
ソースと説明です。
【メインフォーム】
public class f_main : System.Windows.Forms.Form
{
中略
public System.Windows.Forms.RichTextBox textbox;
}
// textbox
//
this.textbox.AcceptsTab = true;
this.textbox.Location = new System.Drawing.Point(16, 16);
this.textbox.Name = "textbox";
this.textbox.Size = new System.Drawing.Size(736, 472);
this.textbox.TabIndex = 0;
this.textbox.Text = "";
mainMenuの表示をクリックしたらサブフォームのオブジェクトを生成してサブフォームの表示
private void tool_box_Click(object sender, System.EventArgs e)
{
if(tool_box.Checked == true)
{
tool_box.Checked=false;
obj_s.Opacity=0.0;
hide=true;
}
else if(hide==true)
{
tool_box.Checked=true;
obj_s.Opacity=1.0;
}
else
{
tool_box.Checked=true;
hide=false;
obj_s.Show();
}
【略】
サブフォームからさらにフォームを生成し、値を入力
strclass cobj = new strclass();
String inc="";
例)inc="aaaa";
cobj.strinclude = inc;
cobj.hyouji();
this.Close();
↓
クラスのオブジェクトを生成し、変数に値を入れて編集して元のメインフォームの呼出(クラス名:strclass)
f_main obj = new f_main(); (←メインフォームです)
public void hyouji()
{
obj.textbox.Text = strinclude + inthensu + longhensu + floathensu + doublehensu + charhensu
+ kansu + kansusyori + syorilast + main + mainsyori + syorilast;
}
尚、このときshowを使うと、新しいメインフォームがでて、新しいtextboxには表示されてました。
(クラスをメインフォームから派生させてthisをつかっても結果は変わりませんでした)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- Access(アクセス) Accessテキストボックス内に2つのフィールドの値を比較して大きい方の値を表示させる方法 1 2022/09/09 10:50
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Visual Basic(VBA) VB.net フォーム 親子 1 2022/07/04 19:00
- Access(アクセス) テキストボックスの値をテーブルに入力したい 2 2022/06/28 12:08
- PDF PDFのテキストを追加機能 1 2022/06/18 12:45
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
大人になっても苦手な食べ物、ありますか?
大人になっても、我慢してもどうしても食べれないほど苦手なものってありますよね。 あなたにとっての今でもどうしても苦手なものはなんですか?
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
【お題】 ・買ったばかりの自転車を分解してひと言
-
【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
【お題】 ・急に朝起こしてきた母親に言われた一言とは?
-
別のフォームで記述している関数を実行するには?C#
C言語・C++・C#
-
データベースのデータをTextBoxに入力された値で検索しDataGridViewに表示する方法
Visual Basic(VBA)
-
オブジェクト参照がオブジェクト インスタンスに設定されていません というエラーについて
Microsoft ASP
-
-
4
【C#】別フォームも同時に閉じるには?
C言語・C++・C#
-
5
C#で別のFormへ複数の値を返そうとしているのですがうまくいきません
その他(プログラミング・Web制作)
-
6
C#にて別クラスの関数を使いたい
C言語・C++・C#
-
7
アクセスできない保護レベルエラーが発生します
Visual Basic(VBA)
-
8
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
9
C#でButtonのフォーカス枠を消したいのですが
C言語・C++・C#
-
10
DataGridViewに空白がある場合はエラーにしたい
Visual Basic(VBA)
-
11
DataGridView 右詰め
Visual Basic(VBA)
-
12
DataGridViewの内容をDBに反映する時
Visual Basic(VBA)
-
13
DataTableから条件を満たした行を別のDatatableへコピーしたい
その他(プログラミング・Web制作)
-
14
Labelコントロールに数字を代入する
C言語・C++・C#
-
15
ピクチャーボックスの大きさに合わせて画像を表示
Visual Basic(VBA)
-
16
C# コンボボックスの複数列表示について
C言語・C++・C#
-
17
DataGridViewの、選択されている行を取り出したい
Visual Basic(VBA)
-
18
数字以外の入力をエラーにするには?
Visual Basic(VBA)
-
19
CloseとDisposeの違い
Visual Basic(VBA)
-
20
どこにもフォーカスを当てたくない
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Googleフォーム・複数人の申し...
-
PDFフォームに本日の日付を自動...
-
VBAにてメッセージボックスを最...
-
ExcelVBAでフォーム内でブック...
-
Accessでフォームから別フォー...
-
Access 無操作の場合、自動で閉...
-
メッセージボックスの背景色
-
サブフォームの行ごとにコンボ...
-
VB.net(VB)で、フォームにExcel...
-
フォームで複数のチェックボッ...
-
ACCESS VBAサブフォーム(DATA S...
-
Access サブフォームでの複数行...
-
フォーム上の全てのコントロー...
-
ASP.NETとC#でWebフォームを呼...
-
アクセス フォームが存在する...
-
VB.NET 親フォームから子フォー...
-
サブフォームの新規レコードに...
-
C# 別なフォームへ値を渡す (...
-
VBプログラムの終了
-
サブフォームのサブフォームの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleフォーム・複数人の申し...
-
VBAにてメッセージボックスを最...
-
Accessでフォームから別フォー...
-
ExcelVBAでフォーム内でブック...
-
アクセスVBA フォームのス...
-
VB.net(VB)で、フォームにExcel...
-
サブフォームの新規レコードに...
-
メッセージボックスの背景色
-
Access 無操作の場合、自動で閉...
-
VBA リストボックスをダブルク...
-
accessで2つ以上のフォームを起...
-
VBプログラムの終了
-
リストボックスの選択解除
-
ユーザーフォーム上にアイコン...
-
ToolStripStatusLabelを固定し...
-
サブフォームの行ごとにコンボ...
-
VBAでフォームのスクロールバー...
-
フォーム上の全てのコントロー...
-
ディスプレイ解像度より大きな...
-
サブフォームのイベント取得
おすすめ情報