.NET

【.NET C#】簡単なフォーム間の変数の受け渡し方法

ユーザーに何か入力させ、その変数を次のフォームに受け渡ししたい時があると思います。

例えば、データベースの接続情報(connectionString)を他のフォームに受け渡ししたいときの方法をまとめておきます。

方法

子フォームでグローバル変数を用意しておいて、
親フォームでインスタンス生成後に、そのグローバル変数に格納してあげればよいです。
これだけです。何も複雑ではありません。

変数を受け取る側(子)フォームのソース


    public partial class FormTableSetting : Form
    {
        //グローバル変数として用意する。これだけ。
        public string _connectionString;

        public FormTableSetting()
        {
            InitializeComponent();
        }

        private void FormTableSetting_Load(object sender, EventArgs e)
        {
            lbl.Text = _connectionString;
        }
    }

変数を渡す側(親)フォームのソース


    public partial class FormDatabaseSetting : Form
    {

        string _connectionString;
        
        private void button1_Click(object sender, EventArgs e)
        {
        	
            string connectionString = "";
        
            //SqlConnectionStringBuilderで接続文字列を作成
            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();

            builder.DataSource = txtDataSource.Text;
            builder.InitialCatalog = cmbDataBase.SelectedItem.ToString();
            builder.UserID = txtUserID.Text;
            builder.Password = txtPassword.Text;
            
            connectionString = builder.ConnectionString;

            //次のフォームのインスタンスを生成
            FormTableSetting f = new FormTableSetting();

            //送り先のフォームのグローバル変数に代入する
            f._connectionString = connectionString;

            //ダイアログ表示させる
            f.ShowDialog();
            
        }
    }

以上です。

ABOUT ME
こふそ
東京でIT会社員しています。 将来の夢は誰かを幸せにすることです。仮想通貨投資に興味があります。 いろんなことを学べればいいなと思っています。