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

わんくま同盟

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

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


■88561 / )  Re[2]: 別フォームのラジオボタンやチェックボックスの取得?
□投稿者/ Dulu (3回)-(2018/09/07(Fri) 20:11:13)
返信ありがとうございます。
返事遅れてしまって申し訳ありません。

> 画像1〜6 を管理しているのが、Form1 なのか Form2 なのか、
> あるいはそれ以外(たとえば内部リソースなど)なのかにもよりますね。

内部リソースです。


> やり方は何通りか思いつきますが、とりあえず 3 パターンほど書いてみると:

何通りかあるんですね…どれがいいのでしょう?
どれもちんぷんかんぷんです。
うーんやっぱり私には難しいのかなあ。

ネット検索を駆使して背景カラー(動いてるけど自信無い)だけは出来たんですが、何かヒントになるワード等教えてくださると幸いです。



フォーム1

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        //バックカラーを取得
        public Color BackColorCode { get => BackColor; set => BackColor = value; }

        public Form1()
        {
            InitializeComponent();
        }

        private void To_form2_Click(object sender, EventArgs e)
        {
            using (var Form2 = new Form2(this))
            {
                Form2.ShowDialog();
            }
        }

        //private void ????
        //{
        //    pictureBox1.Image = Properties.Resources.Default_Symbol.png
        //    pictureBox1.Image = Properties.Resources.Sun_Symbol.png
        //    pictureBox1.Image = Properties.Resources.Water_Symbol.png
        //    pictureBox1.Image = Properties.Resources.Fire_Symbol.png
        //    pictureBox1.Image = Properties.Resources.Forest_Symbol.png
        //    pictureBox1.Image = Properties.Resources.Skull_Symbol.png
        //}
    }
}


フォーム2

namespace WindowsFormsApp3
{
    public partial class Form2 : Form
    {
        //Form1インスタンス格納用
        public Form1 Form1Instance;

        private int BackColorCode;

        public Form2(Form1 Form1Instance)
        {

            InitializeComponent();

            //Form1のインスタンスを取得
            this.Form1Instance = Form1Instance;

            //Form1のバックカラーをForm2のカラーボックスへ設定
            BackColorBox.BackColor = this.Form1Instance.BackColorCode;
        }

        private void BackColor_Click(object sender, EventArgs e)
        {
            // 選択してる色をダイアログ内で選択状態
            colorDialog1.Color = BackColorBox.BackColor;

            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {
                BackColorCode = colorDialog1.Color.ToArgb();
                BackColorBox.BackColor = colorDialog1.Color;
            }
        }

        
        private void Close_Click(object sender, EventArgs e)
        {
            //Form2のカラーボックスの色をForm1へ設定
            Form1Instance.BackColorCode = BackColorBox.BackColor;

            Close();
        }

    }
}

返信 編集キー/


管理者用

- Child Tree -