如何将方法(函数)调用到在c#.net中以form1编写的form2?

时间:2014-09-25 10:21:06

标签: c# methods call

当然,这个问题有很多答案,但我对我的问题没有明确的想法 我正在使用Visual Studio。我有2个表单,其中一个是每周的GMadminview和dailyGVadminview ..
我在dailyGVadminview中编写了一个函数(方法),现在需要另一种形式.....
我在这里添加我的代码..任何ansers将提前感谢谢谢。

namespace weeklyattendance
{
public partial class dailyGvAdminview : Form
{
    public dailyGvAdminview()
    {
        InitializeComponent();
    }

   private void datechanges()
    {
    string date = dateTimePicker1.Value.ToString("dd/MM/yyyy");
    var connectionstring = ConfigurationManager.ConnectionStrings["attendancemanagement"].ConnectionString;
    SqlConnection cn = new SqlConnection(connectionstring);
    string query = "select count(Employee_id) from employee_details";
    cn.Open();
    SqlCommand cmd = new SqlCommand(query, cn);
    object result =cmd.ExecuteScalar();
    txttotalstaff.Text = (result.ToString());

    cn.Close();
}
}
}

Form2代码如下

namespace weeklyattendance
{
public partial class weeklyGvAdminView : Form
{
    public weeklyGvAdminView()
    {
        InitializeComponent();
    }
}
 private void dateTimePicker1_ValueChanged_1(object sender, EventArgs e)
    {
       //here I want to call that function or method
    }
}

3 个答案:

答案 0 :(得分:0)

您可以创建dailyGvAdminview的对象,并在下面的代码中调用该尝试: -

namespace weeklyattendance
{
public partial class weeklyGvAdminView : Form
{
    public weeklyGvAdminView()
    {
        InitializeComponent();
    }
}
 private void dateTimePicker1_ValueChanged_1(object sender, EventArgs e)
    {
       var form1 = new dailyGvAdminview();
       //// call function using this instance
    }
}

如果您想从外部访问方法,请将其设置为Public,如下所示: -

 public string DateChanges()
    {
    }

答案 1 :(得分:0)

所以我只想创建一个新类并将该方法放在该类上:

public class DbHandler
{
    public string DateChanges()
    {
        string date = dateTimePicker1.Value.ToString("dd/MM/yyyy");
        var connectionstring =                    ConfigurationManager.ConnectionStrings["attendancemanagement"].ConnectionString;
        SqlConnection conn = new SqlConnection(connectionstring);
        string query = "select count(Employee_id) from employee_details";
        conn.Open();
        SqlCommand cmd = new SqlCommand(query, conn);
        object result = cmd.ExecuteScalar();
        var result = result.ToString();

        conn.Close();

        return result;
    }
}

然后在你的课堂上这样做:

var dbHandler = new DbHandler();
var result = dbHandler.DateChanges();

我也会尝试遵循一些惯例。使其他程序员更容易跟踪正在发生的事情。

答案 2 :(得分:0)

如果你想要一个真正的GLOBAL和简单的解决方案,首先要做一个静态类。

namespace weeklyattendance
{

    public static class Obj
    {
        public static dailyGvAdminview globalDaily;
    }
}

然后在你创建这个类的initialize或onLoad代码中写一下

Obj.globalDaily = this;

现在你可以使用Obj.globalDaily在你的程序中的任何地方访问这个类,你也可以在那里添加你想要的任何东西并像那样访问它