簡體   English   中英

如何調用在c#.net中以form1編寫的form2的方法(函數)?

[英]How to call a method(function) to a form2 which is written in form1 in c#.net?

當然,這個問題有很多答案,但是,對於我的問題,我並不清楚。
我正在使用Visual Studio。我有2種表單,其中一種是WeeklyGVadminview和DailyGVadminview。
我在dailyGVadminview中編寫了一個函數(方法),現在需要用另一種形式.....
我在這里添加我的代碼。。任何答復將不勝感激,謝謝。

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

您可以創建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();

我也會嘗試遵循一些約定。 使其他程序員更容易了解正在發生的事情。

如果您想要一個真正的GLOBAL簡便解決方案,請首先創建一個靜態類。

namespace weeklyattendance
{

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

然后在您創建此類的初始化或onLoad代碼中,只需編寫

Obj.globalDaily = this;

現在,您可以使用Obj.globalDaily在程序中的任何位置訪問此類,也可以在其中添加任何其他所需的內容並進行訪問

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM