- PR -

C#子フォームおよびクラスより親フォームの背景色の変更

投稿者投稿内容
Fukudome
会議室デビュー日: 2005/07/21
投稿数: 9
投稿日時: 2005-07-28 09:59
vincent様
度々すいません。
frmEntry011 f1 = new frmEntry011();
f1.txtSisiki1.BackColor = Color.MediumSeaGreen;
newするのを忘れていました。
エラーもなく通ったのですが
実際色が反映されずそのままです。
白→緑が
通っても
白→白のままです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-07-28 10:28
引用:

frmEntry011 f1 = new frmEntry011();
f1.txtSisiki1.BackColor = Color.MediumSeaGreen;
newするのを忘れていました。
エラーもなく通ったのですが
実際色が反映されずそのままです。


インスタンスが同一でないからでしょう。
「参照」じゃなかったのですか?



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
vincent
大ベテラン
会議室デビュー日: 2004/07/09
投稿数: 142
投稿日時: 2005-07-28 10:33
「参照を設定する」の意味が伝わってないようですね。
フィールドを定義するのではなくて、参照を代入してくださいと
いうことです。

こんな感じで。
frmEntry011sub1 f2 = new frmEntry011sub1();
f2.f1 = this;//親フォームのインスタンス(this)を代入
f2.Show();
いっきゅう
大ベテラン
会議室デビュー日: 2004/04/04
投稿数: 153
お住まい・勤務地: 兵庫
投稿日時: 2005-07-28 10:39
親フォームで子フォームを表示するとき
frmEntry011sub1 f2 = new frmEntry011sub1();
frmEntry011sub1.Owner = this; // <- 子フォームの所有者を指定
f2.Show();
として
子フォームで
((frmEntry011)this.Owner).txtSisiki1.BackColor = Color.MediumSeaGreen;
とすればいいんじゃないでしょうか。
ただし、txtSisiki1はに指定する必要があります。
Fukudome
会議室デビュー日: 2005/07/21
投稿数: 9
投稿日時: 2005-07-28 11:22
みなさんありがとうございました。
Ownerを使用して
出来ました。
(TT)
vincent様
参照の設定の意味も分からない私に
詳しく教えてくださってありがとうございました。
とても対応しにくかったと思います。
一つ勉強になりました。
いっきゅう様
Ownerの意味調べました。
ありがとうございました。
じゃんぬねっと
すいません。
参照やインスタンス等
良く理解する必要があるようです。
勉強します。

本当にこの会議室があるので助かります。
すごい人が居ると関心するばかりです。

又頼らさせて頂きます。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-07-28 11:40
引用:

じゃんぬねっと
すいません。
参照やインスタンス等
良く理解する必要があるようです。
勉強します。


# 呼び捨てなのはおいといて。

参照やインスタンスは基本ですので質問前に勉強をしておくべきでした。

引用:

本当にこの会議室があるので助かります。
すごい人が居ると関心するばかりです。
又頼らさせて頂きます。


頼るのではなくて、共に高みを目指すのがこの会議室の意義のはずです。
頼るのであれば、サポートセンタを利用しましょう。



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)