C# 如何调用此方法?

C# 如何调用此方法?,c#,C#,我只是一个编程新手,我做了一个函数,一个愚蠢的问题,一个非常愚蠢的问题。请不要粗鲁,我如何从不同的形式或类中调用这个函数。甚至以同样的形式 public void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { for (int i = 0; i <= dtInfo.Rows.Count - 2;i++ ) {

我只是一个编程新手,我做了一个函数,一个愚蠢的问题,一个非常愚蠢的问题。请不要粗鲁,我如何从不同的形式或类中调用这个函数。甚至以同样的形式

public void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
            for (int i = 0; i <= dtInfo.Rows.Count - 2;i++ )
            {
                Battery = Convert.ToDateTime(dtInfo.Rows[i].Cells[5].Value.ToString());
                Oil = Convert.ToDateTime(dtInfo.Rows[i].Cells[14].Value.ToString());
                Fran = Convert.ToDateTime(dtInfo.Rows[i].Cells[12].Value.ToString());
                lastkm = int.Parse(dtInfo.Rows[i].Cells[13].Value.ToString());

            batt = Battery - DateTime.Now;
            doil = Oil - DateTime.Now;
            dfran = Fran - DateTime.Now;

            if (batt.Days <= 7)
            {
               dtInfo.Rows[i].Cells[5].Style.BackColor = Color.Green;

            }
            if (doil.Days <= 7)
            {
                dtInfo.Rows[i].Cells[14].Style.BackColor = Color.Green;
            }
            if (dfran.Days <= 7)
            {
                dtInfo.Rows[i].Cells[12].Style.BackColor = Color.Green;

            }
            if (lastkm <= 500)
            {
                dtInfo.Rows[i].Cells[13].Style.BackColor = Color.Green;
            }



        }
    }
public void dataGridView1\u DataBindingComplete(对象发送方,DataGridViewBindingCompleteEventArgs e)
{

对于(int i=0;i,这是一个事件处理程序,除非:

  • 该类公开了一个受保护的(甚至是公共的)方法来直接触发它,但在.NET类中通常不会发生这种情况

  • 您可以通过执行实际事件所表示的操作来触发它——在您的例子中,当网格和源之间的数据绑定完成时

  • 不过,您可以调用该方法,但它没有任何相关意义,因为您不会引发事件。不过,如果事件逻辑无关紧要,您只想执行该代码,您可以通过以下方式执行:

    dataGridView1_DataBindingComplete(null, null);
    

    但是在这种情况下,您可以将该方法的内容包装在一个简单的方法中,返回类型为
    void
    ,并且没有参数。

    这是一个事件处理程序,除非:

  • 该类公开了一个受保护的(甚至是公共的)方法来直接触发它,但在.NET类中通常不会发生这种情况

  • 您可以通过执行实际事件所表示的操作来触发它——在您的例子中,当网格和源之间的数据绑定完成时

  • 不过,您可以调用该方法,但它没有任何相关意义,因为您不会引发事件。不过,如果事件逻辑无关紧要,您只想执行该代码,您可以通过以下方式执行:

    dataGridView1_DataBindingComplete(null, null);
    

    但是在这种情况下,您可以将该方法的内容包装在一个简单的方法中,返回类型为
    void
    ,并且没有参数。

    dataGridView1\u DataBindingComplete()只是一个简单的旧方法

    dataGridView1_DataBindingComplete(this, new RoutedEventArs());
    
    如果要从同一对象调用它,则应执行此技巧


    如果您想重用这段代码,我会将该方法中的所有内容都包含在内,并创建一个单独的公共方法,以便您可以从其他位置和其他对象调用它。

    dataGridView1\u DataBindingComplete()只是一个简单的旧方法

    dataGridView1_DataBindingComplete(this, new RoutedEventArs());
    
    如果要从同一对象调用它,则应执行此技巧


    如果你想重用那部分代码,我会把方法中的所有东西都取出来,然后创建一个单独的公共方法,这样你就可以从其他地方和其他对象调用它。

    这一切都取决于函数的位置。如果你把它和表单放在同一个类下,你可以在同一个范围内调用它。但是从我看来,它是is是一个事件处理程序,您不需要调用它,因为它处理dataGridView事件“DataBindingComplete”。有关它的更多信息,请访问

    但是,如果出于某种原因需要调用它,您可以执行以下操作:

    dataGridView1_DataBindingComplete(null, null)
    

    这完全取决于函数的位置。如果您将它与表单放在同一个类下,您可以在同一个范围内调用它。但从我看来,这是一个事件处理程序,您不需要调用它,因为它处理dataGridView事件“DataBindingComplete”。有关它的更多信息,请访问

    但是,如果出于某种原因需要调用它,您可以执行以下操作:

    dataGridView1_DataBindingComplete(null, null)
    

    仅供参考,您的问题不要求您发布整个方法-仅发布签名(
    public void dataGridView1\u DataBindingComplete(object sender,DataGridViewBindingCompleteEventArgs e)
    )仅供参考,您的问题不要求您发布整个方法-仅发布签名(
    public void dataGridView1\u DataBindingComplete)(对象发送方,DataGridViewBindingCompleteEventTargets e)
    )实际上,我正在尝试更改datagridview中单元格的颜色。在使用公共void dataGridView1\u DataBindingComplete(对象发送方,DataGridViewBindingCompleteEventTargets e)之前{函数….datagridview单元格会更改颜色…但是当我关闭它并重新打开它时,颜色将不再更改…@user974015“关闭它并重新打开它”是什么意思?是否将处理程序添加到事件中?例如…当我关闭表单时…然后重新打开表单时…datagridview单元格将不再更改颜色…但当我尝试跟踪它时…单元格将获得背景颜色的值,但它不会应用…在visual Studio中datagrid@user974015很抱歉,我无法重现您的问题。如果您想以编程方式重新着色网格(只要你知道什么时候需要做,你可以把你的绘图代码放在另一个方法中并调用它。@eve…我已经编辑了我的文章…你能检查一下吗..谢谢…:D实际上我正在尝试更改datagridview中单元格的颜色。在我使用公共void dataGridView1\U DataBindingComplete之前(对象发送者,DataGridViewBindingCompleteEventTargets e){函数….datagridview单元格更改颜色…但当我关闭并重新打开它时,颜色将不再更改…@user974015“关闭并重新打开”是什么意思?是否将处理程序添加到事件中?例如…当我关闭表单时…然后重新打开表单时…datagridview单元格将不再更改颜色…但当我尝试跟踪它时…单元格将获得背景颜色的值,但它不会应用…在visual Studio中datagrid@user974015很抱歉,我无法重现您的问题。如果您想以编程方式重新着色网格(只要你知道什么时候需要做,你可以把你的绘图代码放在另一个方法中并调用它。@eve…我已经编辑了我的文章…你能检查一下吗..谢谢..:D