【问题标题】:Update winform DataGridView from another Winform从另一个 Winform 更新 winform DataGridView
【发布时间】:2014-07-04 17:15:15
【问题描述】:

我创建了一个 winform 任务事件,它将在我的任务调度程序类中的指定时间发送电子邮件报告。

taskEvent.cs

public partial class taskEvent : Form
{
    //trigger task scheduler
    void triggerItem_OnTrigger(object sender, TaskScheduler.OnTriggerEventArgs e)
    {
        //Some other codes that generate report and specified formated filename on trigger.

        //send report on time scheduled
        SendMail(filename);
    }

    private void sendMail(string filename)
    {
        try
        {
          //send filename report as attachment
          SmtpServer.Send(mail);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
       updateLogs();
    }

   public void updateLogs()
   {
       //update log datagridview in another form.
       //update filename,datedelivered,status.
   }
}

现在,当电子邮件成功发送时,我希望它在我的 logForm 的 datagridview 中添加新行。 logForm 将查看文件名、发送日期和电子邮件状态。

logForm.cs

| Filename |    Date Delivered     |   Status     |  
|----------|-----------------------|--------------|  
| test123  | Friday, ‎July ‎04, ‎2014 | Delivered    |  
|          |                       |              |

是否可以从我的 taskEvent 表单将列表添加到 logForm 中的数据网格视图?请告知这怎么可能。谢谢你。

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    是的,这很简单,只需以下步骤:

    • 在您的日志表单中添加一个公开的方法,并采用一个表示您要记录的数据的类。
    • 将此新方法添加到网格中
    • 通过将日志表单存储在变量中来创建对任务表单上的日志表单的引用
    • 要记录事件时调用公共方法

    编辑

    所以第 3 点你需要这样的东西,很明显,当你构造你的 TaskForm 时,你需要为这个变量分配一个实例化的 LogForm。

    class TaskForm : Form
    {
       public LogForm MyLogForm;
    
       public void updateLogs()
       {
           MyLogForm.UpdateLog(new LogEntry());
       }
    }
    

    【讨论】:

    • 谢谢伊恩,我明白第一点和第二点。 3号和4号有点混乱。您的意思是将变量从任务传递到日志?这个方法可以实时更新gridview吗?
    • @Ren - 稍微编辑了我的答案以帮助澄清。
    • tq,意思是第一个我需要在其他分离的类文件中创建一个类,然后第二个指定以任务形式存储值,第三个是在任务形式中以日志形式调用公共方法?如果我错了,请纠正我。
    • @Ren:恐怕我不明白你的问题
    • 好的,我的意思是你的第一点,我需要先在一个新的单独的类文件仪式中创建一个新类?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    • 2013-02-09
    • 1970-01-01
    • 2013-04-11
    相关资源
    最近更新 更多