none
還是兩個form溝通的問題 RRS feed

  • 問題

  • 我的form1裡有個集合,我按button可以呼叫form2

    form2有個 textbox,兩個button分別為button_OK 和 button_Cancel

    我希望我按ok的時候stringList可以add  textbox的內容

     

    public Form1()
    {
        List<String> stringList = new List<String>;
    }

     


    之前試過將list傳到form2不過form1中的stringlList的內容沒有增加

    好像變成多建了一份stringList

    所form1中的stringList並沒有增加

    現在有想兩種方法,第一種就是正常的由form2來新增form1中的stringList

    第二種就是在form1呼叫了form2之後偵測button_OK如果有click

    就直接在form1新增,不過這種方法的問題在我不知道如何在form1中偵測form2中的button是否click

    所以想請問一下有沒有人知道,第一or第二種方法的答案

    謝謝

    • 已變更類型 哇哩勒 2010年10月15日 上午 08:23
    2010年10月15日 上午 08:12

解答

  • 我測試是正常的, 如果你的參考傳遞方式正確的話.

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
         
        List<String> stringList = new List<String>();

            private void Form1_Load(object sender, EventArgs e)
            {

            }

            private void button1_Click(object sender, EventArgs e)
            {
                Form2 frm2 =new Form2 ();
                frm2._List =stringList;
                frm2.Show ();
            }

            private void button2_Click(object sender, EventArgs e)
            {

             
                foreach (String myString in stringList )
                {
                    textBox1.Text += myString + System.Environment.NewLine;
                }
            }
        }

     

     

    public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
            public List<String> _List;
            private void Form2_Load(object sender, EventArgs e)
            {

            }

            private void button1_Click(object sender, EventArgs e)
            {
                _List.Add(textBox1.Text);
            }
        }

     


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    • 已標示為解答 哇哩勒 2010年10月15日 上午 09:25
    2010年10月15日 上午 08:49
    版主

所有回覆

  • 我測試是正常的, 如果你的參考傳遞方式正確的話.

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
         
        List<String> stringList = new List<String>();

            private void Form1_Load(object sender, EventArgs e)
            {

            }

            private void button1_Click(object sender, EventArgs e)
            {
                Form2 frm2 =new Form2 ();
                frm2._List =stringList;
                frm2.Show ();
            }

            private void button2_Click(object sender, EventArgs e)
            {

             
                foreach (String myString in stringList )
                {
                    textBox1.Text += myString + System.Environment.NewLine;
                }
            }
        }

     

     

    public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
            public List<String> _List;
            private void Form2_Load(object sender, EventArgs e)
            {

            }

            private void button1_Click(object sender, EventArgs e)
            {
                _List.Add(textBox1.Text);
            }
        }

     


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    • 已標示為解答 哇哩勒 2010年10月15日 上午 09:25
    2010年10月15日 上午 08:49
    版主
  • 應該是我之前參考傳遞方式不正確

    謝謝你了!

    2010年10月15日 上午 09:25