none
跨form傳值 RRS feed

  • 問題

  • c#2008 
    private void button_Reset_Click(object sender, EventArgs e)
            {
                
                fsave2.Enabled = true;
                Speed = 0.00;//平均時速,單位為km/hr
                MaxSpeed = 0.00;//最高時速,單位為km/hr
                Distance = 0.00;//踩踏距離,單位為km
                Time = DateTime.Now - DateTime.Now;//踩踏時間,單位為sec
                cal = 0;
                UpdateText(label_Speed, "平均時速: " + Speed.ToString("##0.00") + " Km/Hr");
                UpdateText(label_MaxSpeed, "最高時速: " + MaxSpeed.ToString("##0.00") + " Km/Hr");
                UpdateText(label_Distance, "踩踏距離: " + Distance.ToString("##0.00") + " Km");
                UpdateText(label_Time, "踩踏時間: " + Time.Hours.ToString() + "小時" + Time.Minutes.ToString() + "分鐘" + Time.Seconds.ToString() + "秒");
                UpdateText(label_cal, "消耗卡路里: " + cal + " 千卡");
                UpdateText(reporttext, "");
    此段程式在form1
    出現錯誤
    名稱fsave2與reporttext不存在於目前內容中

    button_Reset在form1裡面

    fsave2與reporttext在form2裡面

    請各位大大幫我解決...(急)
    • 已移動 a-talinModerator 2010年10月25日 下午 12:40 屬於C# (從:Visual C++)
    2010年10月25日 上午 08:48

解答

  •         Form2 f2 = new Form2();
    
            private void button1_Click(object sender, EventArgs e)
            {
                string sText;
    
                f2.Show();
                f2.setButton(false );
                sText=f2.reportText();
            }
    
        public partial class Form2 : Form
        {
            public string reportText
            {
                get { this.textBox1.Text; }
                set{this.textBox1.Text=reportText ;}
            }
            public bool  setButton
            {
                get { return button1.Enabled ; }
                set { button1.Enabled  = setButton  ; }
            }
    }
    
    CommunicationBetweenTwoForm.zip
    2010年10月25日 上午 10:02

所有回覆

  • 能不能在form1使用form2的元件
    2010年10月25日 上午 09:39
  •         Form2 f2 = new Form2();
    
            private void button1_Click(object sender, EventArgs e)
            {
                string sText;
    
                f2.Show();
                f2.setButton(false );
                sText=f2.reportText();
            }
    
        public partial class Form2 : Form
        {
            public string reportText
            {
                get { this.textBox1.Text; }
                set{this.textBox1.Text=reportText ;}
            }
            public bool  setButton
            {
                get { return button1.Enabled ; }
                set { button1.Enabled  = setButton  ; }
            }
    }
    
    CommunicationBetweenTwoForm.zip
    2010年10月25日 上午 10:02
  • 還是不能...

    對不起  我對程式一竅不通

    我只知道在form1找不到reporttext是因為他在form8裡面

    沒辦法讓form1使用fprm8裡的reporttext嗎?

    2010年10月25日 下午 01:57
  • reporttext是控制項?還是自己寫的函數?Form8內的資料存取範圍為Public或是Friend(控制項的話則把Modifiers屬性值設為Public或是Friend,Form8.reporttext就可以存取了;蹂躪大的網頁看過了沒?範例下載了嗎?把您的專案壓縮上傳到網路空間如Sky Drive...

    2010年10月25日 下午 02:24
  • 還是不能...

    對不起  我對程式一竅不通

    我只知道在form1找不到reporttext是因為他在form8裡面

    沒辦法讓form1使用fprm8裡的reporttext嗎?


    你一竅不通, 那這程式碼是怎麼出現的 ? 你應該先把蹂躪大的文章讀一讀, 先弄懂什麼叫參考的傳遞, 再試著自己做做看, 而不是想要別人直接給你一段程式碼解決問題.
    2010年10月25日 下午 04:50
  • 論壇之前有許多相關的討論文章, 請參考

    http://social.msdn.microsoft.com/Search/zh-TW?query=%E5%85%A9%E5%80%8BForm%20%2B%20%E5%82%B3%E5%80%BC&refinement=112&ac=8


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年10月25日 下午 04:54
    版主
  • 其实可以这样办专门创建一个用来状态审查的类比如Checker 给她一个bool类型的属性名称为fsav2 还有那个挺长的那个控件的名字初始值都为  false  在form1里使 Checker类的fsav2为true 然后在form2的Load方法中检测Chencker类的fsav2属性值 如果是true 那就把 form2里的 fsave2.Enabled = true不就可以啦吗 (*^__^*) 嘻嘻……
    2010年10月30日 上午 01:24