オブジェクト参照について
- 題名: オブジェクト参照について
- 著者: たけし
- 日時: 2014/04/28 21:25:15
- ID: 32316
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: オブジェクト参照について
- 著者: たけし
- 日時: 2014/04/28 21:28:40
- ID: 32317
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: オブジェクト参照について
- 著者: WebSurfer
- 日時: 2014/04/28 22:31:20
- ID: 32320
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: オブジェクト参照について
- 著者: たけし
- 日時: 2014/04/28 23:24:51
- ID: 32322
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: オブジェクト参照について
- 著者: WebSurfer
- 日時: 2014/04/28 23:53:57
- ID: 32323
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: オブジェクト参照について
- 著者: Azulean
- 日時: 2014/04/29 9:32:24
- ID: 32324
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: オブジェクト参照について
- 著者: たけし
- 日時: 2014/05/04 1:33:19
- ID: 32338
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: オブジェクト参照について
- 著者: たけし
- 日時: 2014/05/04 1:36:14
- ID: 32339
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: オブジェクト参照について
- 著者: WebSurfer
- 日時: 2014/05/04 10:37:37
- ID: 32340
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[7]: オブジェクト参照について
- 著者: たけし
- 日時: 2014/05/10 13:47:32
- ID: 32354
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
こんにちは。myFormからanotherFormを参照して、値を取得するというコードを書きました。
anotherFormではプロパティを書いています。
myFormではプロパティを参照する為に下記のコードを書きました。
var refForm = Application.OpenForms["anotherForm"];
if (refForm != null)
{
//anotherFormのテキストボックスの内容を取得
anotherForm ff = (anotherForm)refForm;
this.textBox1.Text = ff.returnTextBoxString;
このコードは動きましたが、最初は下記のようにコードを書きました。
refForm.returnTextBoxString
このコードは動きませんでした。refFormはanotherFormを参照しているので、動くと思っていましたが、実際はrefFormをanotherFormでキャストすることで動きました。なぜrefForm.returnTextBoxStringは動かないのでしょうか?
まだ勉強不足でオブジェクトとかしっかり理解していないです。ご教授よろしくお願いいたします。
//-----------------------------myForm------------------------------//
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class myForm : Form
{
//コンストラクター
public myForm()
{
InitializeComponent();
}
//モードレスフォームとしてForm2を起動
private void button2_Click(object sender, EventArgs e)
{
var f = new anotherForm();
f.Show();
}
//実行ボタン
private void button1_Click(object sender, EventArgs e)
{
var refForm = Application.OpenForms["anotherForm"];
if (refForm != null)
{
//anotherFormのテキストボックスの内容を取得
anotherForm ff = (anotherForm)refForm;
this.textBox1.Text = ff.returnTextBoxString;
//anotherFormのラジオボタンを判定する
var receiveValue = ff.returnValue;
if (receiveValue == 1)
{
this.radioButton1.Checked = true;
}
else
{
this.radioButton2.Checked = true;
}
}
}
}
}
//-----------------------------anotherForm------------------------------//
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class anotherForm : Form
{
//プロパティ。anotherFormのテキストボックスの内容を返す
public string returnTextBoxString
{
get { return this.textBox1.Text; }
}
//プロパティ。anotherFormのどのラジオボタンが押されているか判定。
public int returnValue
{
get
{
if (this.radioButton1.Checked)
{
return 1;
}
else
{
return 2;
};
}
}
public anotherForm()
{
InitializeComponent();
}
}
}