我已经创建了一个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中的数据网格视图?请告知这是如何可能的。谢谢你!
是的,它非常简单,只需以下步骤:
- 在您的日志表单中添加一个方法,该方法是公共的,并使用一个类来表示您想要记录的数据。
- 将这个新方法添加到网格
- 通过将其存储在变量 中,在任务表单上创建对日志表单的引用
- 当你想记录事件时调用公共方法
编辑
所以第三点你需要这样的东西,显然当你构建你的TaskForm时你需要用一个实例化的LogForm来分配这个变量。
class TaskForm : Form
{
public LogForm MyLogForm;
public void updateLogs()
{
MyLogForm.UpdateLog(new LogEntry());
}
}