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

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

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

Re[2]: どのフォームからでも読み書きできる変数の定義の仕方


(過去ログ 24 を表示中)

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

■10819 / inTopicNo.1)  どのフォームからでも読み書きできる変数の定義の仕方
  
□投稿者/ くまこ (19回)-(2007/11/27(Tue) 17:18:31)

分類:[C#] 

2つのフォームがあり、どちらのフォームからでも読み書きできる変数を作りたいのですが、
こういった場合、どこにどの様に変数を宣言したら良いのでしょうか?

Form1(あ)に「public string aaa = "abc";」と入れてみたものの間違いなようで、Form2からアクセスできません。
どの様にすれば良いのか検索しているのですが、キーワードが悪いようで見つけられません。
どなたか、アドバイスよろしくお願いいたします。

///-----------------
///Program.cs
///-----------------
//using 節省略
namespace WindowsApplication1
{
    static class Program
    {
        /// <summary>
        /// アプリケーションのメイン エントリ ポイントです。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

///-----------------
///Form1.cs
///-----------------
//using 節省略
namespace WindowsApplication1
{
    //あ
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
}


///-----------------
///Form2.cs
///-----------------
//using 節省略
namespace WindowsApplication1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        private void Form2_Load(object sender, EventArgs e)
        {
            MessageBox.Show(aaa); //エラーになります
        }
    }
}

引用返信 編集キー/
■10820 / inTopicNo.2)  Re[1]: どのフォームからでも読み書きできる変数の定義の仕方
□投稿者/ シャノン (224回)-(2007/11/27(Tue) 18:03:07)
No10819 (くまこ さん) に返信
> ///-----------------
> ///Form2.cs
> ///-----------------
> //using 節省略
> namespace WindowsApplication1
> {
> public partial class Form2 : Form
> {
> public Form2()
> {
> InitializeComponent();
> }
> private void Form2_Load(object sender, EventArgs e)
> {
> MessageBox.Show(aaa); //エラーになります
> }
> }
> }

aaaはForm1のメンバ変数なので、Form1のインスタンスを用意した上で、
MessageBox.Show(form1.aaa);
としなければなりません(form1はForm1のインスタンスとする)。

が、それ以前に、Formにpublic変数など作るものではありません(定数ならまだしも…)。
引用返信 編集キー/
■10821 / inTopicNo.3)  Re[2]: どのフォームからでも読み書きできる変数の定義の仕方
□投稿者/ くまこ (20回)-(2007/11/27(Tue) 18:11:38)
> aaaはForm1のメンバ変数なので、Form1のインスタンスを用意した上で、
> MessageBox.Show(form1.aaa);
> としなければなりません(form1はForm1のインスタンスとする)。

インスタンスを使うんですね!
ありがとうございました。

> が、それ以前に、Formにpublic変数など作るものではありません(定数ならまだしも…)。
そ、そうなんですね…
忠告、ありがとうございます。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -