ここから本文です

C#、Form1で得た情報をForm2で利用する時の各フォーム内の記述について(get/setの...

tnw********さん

2009/5/3016:57:15

C#、Form1で得た情報をForm2で利用する時の各フォーム内の記述について(get/setの使用例)

お世話になります。
只今、画像のようにリストボックスで選択されているアイテムをラベルにて上部分に表示させています。
こんな感じです↓

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.label1.Text = listBox1.Text;
}

そこで聞きたい事は、このラベルに表示させている文字を現在のフォーム1からフォーム2へ渡すということです。
渡したい変数を public にして表示させることは出来ましたが、「publicよりもprivateを使ったほうがいい」と調べたときに書かれていました。
private を使う時は『get/set』を使うということでしたが、その『get/set』の使い方が私にはいまいち理解できませんでした。

購入した入門書にはこの『get/set』のこと、フォームのことについてもほとんど触れていません・・・。
なので、お手数をかけますが 使用例、あるいは各フォームに書くべき事項などを順をおって説明していただけるとありがたいです。

毎度、不躾な感じになってしまって申し訳ありませんがよろしくお願いします。

object sender,listBox1.Text,EventArgs e,Form2,Form1,MessageBox.Show,Form1.cs

閲覧数:
1,195
回答数:
1
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

dom********さん

2009/5/3019:13:34

簡単方法を説明していきます

只今 こんな感じです↓
Form1 Form2
name newName

Form1.cs中
public static string name; --注意点

Form2.cs中
newName=Form1.name; --ok???

変数のTYPEを本から読んでください


他の方法
Form1.cs中
public static string name; --注意点


他の方法
Form1.cs中

public name{
set{}
get{}
}

Form2.cs中
Form1 newFrm=new Form1();
newName=newFrm.name;


まだ
Form1.cs 中

public static string myTestStr1="";

public Form_Form1()
{
InitializeComponent();

myTestStr1="Hello!";
}
public string GetStrValue
{
get
{
return myTestStr1;
}
set
{
myTestStr1=value;
}
}
Form2で

MessageBox.Show (Form_Form1.myTestStr1 ); //文字 hello表示されます
Form_Form1 frm2=new Form_Form1();
frm2.GetStrValue ="How do you do?";
MessageBox.Show (frm2.GetStrValue ); //How do you do?表示されます

MessageBox.Show (Form_Form1.myTestStr1 ); //How do you do?表示されます
一番簡単な方法は
Form1.cs中
public static name;
Form2.cs中
Form1.name....OK???
他の問題があれば
domoasp@gmail.com

質問した人からのコメント

2009/5/31 16:49:58

降参 前回に引き続きありがとうございました。
試しにやってみます!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる