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

C# 如何在c.net中调用用form1编写的form2的方法(函数)?,c#,methods,call,C#,Methods,Call,当然,这个问题有很多答案,不过,我对我的问题没有明确的想法。 我在Visual Studio上工作。我有两个表单,一个是weeklyGVadminview和dailyGVadminview。。 我在dailyGVadminview中编写了一个functionmethod,现在需要另一种形式。。。。。 我在这里添加我的代码..如有任何疑问,请提前告知,谢谢 namespace weeklyattendance { public partial class dailyGvAdminview : Fo

当然,这个问题有很多答案,不过,我对我的问题没有明确的想法。 我在Visual Studio上工作。我有两个表单,一个是weeklyGVadminview和dailyGVadminview。。 我在dailyGVadminview中编写了一个functionmethod,现在需要另一种形式。。。。。 我在这里添加我的代码..如有任何疑问,请提前告知,谢谢

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();
}
}
}
格式2代码如下

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
    }
}

您可以创建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 string DateChanges()
    {
    }

因此,我将创建一个新类,并将该方法放在该类上:

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();

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

如果您想要一个真正全局且简单的解决方案,请首先创建一个静态类

namespace weeklyattendance
{

    public static class Obj
    {
        public static dailyGvAdminview globalDaily;
    }
}
然后在创建此类的初始化或onLoad代码中,只需编写

Obj.globalDaily = this;

现在您可以使用Obj.globalDaily在程序中的任何地方访问该类,您还可以在其中添加任何其他您想要的内容并像这样访问它

您可以创建dailyGvAdminview的对象并调用该函数。将该方法拉入其自己的类中,然后调用该类表单。这两种表单……都应该被赋予方法的公共性??或者不需要@neelYes如果你想从外部访问它,请将该方法公开@ShivaDebrown