none
請問,如何在FormB中呼叫FormA的自訂函式? RRS feed

  • 問題

  • 請問各位先進,

        在同一個專案之下,在FormA中所建立的函式,在FormB中可以呼叫使用嗎? 如果可以,應該用什麼樣的架構宣告? 麻煩不吝指導! 謝謝

     

    earthcat

    2008年4月11日 上午 05:42

解答

  • public class FormA{

           public int Add(int a,int b){

               return a+b;

           }

    }

     

    public class FormB{

           private void Run(){

              int a=5;

              int b=10;

              FormA formA=new FormA();

              formA.Show();

              int result=formA.Add(a,b);

              MessageBox.Show(result.ToString());

           }

    }

    2008年4月11日 上午 06:30

所有回覆

  • public class FormA{

           public int Add(int a,int b){

               return a+b;

           }

    }

     

    public class FormB{

           private void Run(){

              int a=5;

              int b=10;

              FormA formA=new FormA();

              formA.Show();

              int result=formA.Add(a,b);

              MessageBox.Show(result.ToString());

           }

    }

    2008年4月11日 上午 06:30
  • 我了解您的意思了,非常感謝您!

     

    earthcat

    2008年4月11日 上午 06:46
  • 我習慣用靜態方法,如果大家都會用到的話。

    Form1.cs

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
     
        private void button1_Click(object sender, EventArgs e)
        {
            int result = Form2.Add(3, 4);
            MessageBox.Show(result.ToString());
        }
    }

    Form2.cs
    using System.Windows.Forms;
     
    namespace WindowsFormsApplication2
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
     
            public static int Add(int a, int b)
            {
                return a + b;
            }
        }
    }

    2008年4月11日 下午 12:30
  • 要用static 就隨便寫個Tool Class 就好了,寫在Form 真的有一點?

     

    2008年4月11日 下午 12:36
  • 的確是如此類似 Utilities 的 Class...

    2008年4月11日 下午 12:39