C# 应用程序未调用方法

C# 应用程序未调用方法,c#,winforms,azure,datagridview,C#,Winforms,Azure,Datagridview,我的应用程序没有调用我的方法。我使用过断点,但它从未在代码中启动过。我正在使用Azure数据库构建一个C#Windows窗体应用程序,但DataGridView从未被填充,代码也从未被调用过。。。我不知道为什么 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using

我的应用程序没有调用我的方法。我使用过断点,但它从未在代码中启动过。我正在使用Azure数据库构建一个C#Windows窗体应用程序,但DataGridView从未被填充,代码也从未被调用过。。。我不知道为什么

using System;
using System.Collections.Generic; 
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Configuration;

namespace MyWinFormsProj
{
   public partial class CompanyForm : Form
{
    public CompanyForm()
    {
        InitializeComponent();
    }
    //Connection String
    string cs = ConfigurationManager.ConnectionStrings
    ["MyConnetion"].ConnectionString;

    // Load all employees
    private void dataEmployees_Load()
    {
        using (SqlConnection con = new SqlConnection(cs))
        {
            con.Open();
            SqlCommand cmd = new SqlCommand
            (
                "Select fname,ename FROM dbo.Users", con
            );
            SqlDataReader dr = cmd.ExecuteReader();
            DataTable dt = new DataTable();
            dt.Load(dr);
            dataEmployees.DataSource = dt;
        }
    }

    // Crate company
    private void createCompany_Click_1(object sender, EventArgs e)
    {
        if (textBoxCompanyName.Text == "")
        {
            MessageBox.Show("Fill out information");
            return;
        }
        using (SqlConnection con = new SqlConnection(cs))
        {
            //Create SqlConnection
            con.Open();
            SqlCommand cmd = new SqlCommand(
            "insert into dbo.Company  (companyName) 
             values(@companyName)", con);
             cmd.Parameters.AddWithValue(
            "@companyName", textBoxCompanyName.Text);
            SqlDataAdapter adapt = new SqlDataAdapter(cmd);
            MessageBox.Show("Grattis! Du har skapat ett företag");

           }
        }
      }
    }

第二个方法正在工作,并且正在执行它应该执行的操作,但是第一个方法从未被调用。

您需要在gridView onLoad上设置一个事件处理程序,并将此方法传递给处理程序

public void GridView_OnLoad(object sender, EventArgs e)
{
    dataEmployees_Load();
}

您需要在gridView onLoad上设置一个事件处理程序,并将此方法传递给该处理程序

public void GridView_OnLoad(object sender, EventArgs e)
{
    dataEmployees_Load();
}

您需要修复方法签名,使其如下所示:

private void dataEmployees_Load(object sender, EventArgs e)
然后,在GirdView中,需要将此函数设置为事件“onload”的处理程序:


您需要修复方法签名,使其如下所示:

private void dataEmployees_Load(object sender, EventArgs e)
然后,在GirdView中,需要将此函数设置为事件“onload”的处理程序:


谢谢你们的回答,这帮我解决了问题。就像你说的问题在于方法没有被调用。所以我直接在initiliazeComponent上这样调用它

    public partial class CompanyForm : Form
{
    public CompanyForm()
    {
        InitializeComponent();
        Load += new EventHandler(dataEmployees_Load); //Added this code
    }
    // Load all employees
    private void dataEmployees_Load(object sender, EventArgs e)
    {
        using (SqlConnection con = new SqlConnection(cs))
        {
            con.Open();
            SqlCommand cmd = new SqlCommand
            (
                "Select fname,ename FROM dbo.Users", con
            );
            SqlDataReader dr = cmd.ExecuteReader();
            DataTable dt = new DataTable();
            dt.Load(dr);
            dataEmployees.DataSource = dt;
        }
    }

谢谢你们的回答,这帮我解决了问题。就像你说的问题在于方法没有被调用。所以我直接在initiliazeComponent上这样调用它

    public partial class CompanyForm : Form
{
    public CompanyForm()
    {
        InitializeComponent();
        Load += new EventHandler(dataEmployees_Load); //Added this code
    }
    // Load all employees
    private void dataEmployees_Load(object sender, EventArgs e)
    {
        using (SqlConnection con = new SqlConnection(cs))
        {
            con.Open();
            SqlCommand cmd = new SqlCommand
            (
                "Select fname,ename FROM dbo.Users", con
            );
            SqlDataReader dr = cmd.ExecuteReader();
            DataTable dt = new DataTable();
            dt.Load(dr);
            dataEmployees.DataSource = dt;
        }
    }

您的代码不包含对该方法的调用。您在哪里调用了该方法?也许在构造函数中进行调用?我在代码中没有看到调用该方法的任何地方。DataU加载方法是否附加到表单上的任何事件?如果是,请检查InitializeComponent()中的代码以确保其正确性。@JoshuaHysong不,它只是作为gridview放在表单上,我已经应用了问题描述中指定的代码。我可以参加什么样的活动?像onform load?您的代码不包含对该方法的调用。您在哪里调用了该方法?也许在构造函数中进行调用?我在代码中没有看到调用该方法的任何地方。DataU加载方法是否附加到表单上的任何事件?如果是,请检查InitializeComponent()中的代码以确保其正确性。@JoshuaHysong不,它只是作为gridview放在表单上,我已经应用了问题描述中指定的代码。我可以参加什么样的活动?比如在表单上加载?很好,答案很有帮助。无论如何,我更习惯于在aspx中添加事件处理程序,而不是在代码中添加:)问候!很好,答案很有用。无论如何,我更习惯于在aspx中添加事件处理程序,而不是在代码中添加:)问候!