none
Form1 和 Form2 互相傳回值 RRS feed

  • 問題

  • 我是用習慣上VB.NET可以加學C#充實自己

    有碰到一個問題,互相傳回值很難通過的原因

    VB.NET

    [ Form1 ]

    Dim fm2 As New Form2

    fm2.Show()

    fm2.TextBox1.Text = 1

     

    [ Form2 ]

    Dim fm1 As Form1

    fm1.TextBox1.Text = 2

    me.Close()

     

    上面這個比較簡單的互相傳回值

    接下來C#

    [ Form1 ]

    public string g_send

    {

      get{ return textBox1.text; }

    }

    public string s_send

    {

      set{ textBox1.text = value; }

    }

     

    Form2 fm2;

    fm2.Show();

     

    [ Form2 ]

    Form1 fm1 = new Form1();

    textBox1.text = fm1.g_send;

     

    fm1.s_send = "2";

    this.Close();

     

     

    這個有點麻煩,只有傳回值一個,不能多重傳回值

    我正在需要ListView1或ListBox1大量資料庫傳送給Form2的ListView1或ListBox1

    修完後傳送給Form1

    這樣啊

     

    VB.NET比較簡單可以大量資料庫傳送很方便,

    但是C#只有傳送一個,還要開新視窗的問題多了

     

    寫C#不是很簡單的一件事,有人會寫需要大量資料庫傳送的問題

    請幫助我解惑

    2007年4月2日 下午 01:01

解答

所有回覆

  • 不知道你所謂的傳送大量資料庫,是否指的是傳送DataSet? 如果是的話,下列做法就可以了,同你所寫的是用string,因為你回傳的是string,如果要回傳DataSet,就用DataSet就好了.

     

    [ Form1 ]

    public DataSet gs_send

    {

      get

        {

           return tmpds;

        }

       set

       {

           tmpds=value;

        }

    }

     

    如果form2要使用form1的物件,如Textbox的話,把form1要被使用的TextBox,由原本預設的private改設為Public或Internal即可.

    2007年4月3日 上午 12:30
  • HI

     

    你可以設計一個有static數據的類,來共同保存Form1和 Form2 的控制項的值

    2007年4月3日 上午 12:40