У меня есть программа для отправки электронной почты на основе данных 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.Threading;
using System.Net.Mail;
using System.Net;
namespace sendEmail
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnGetData_Click(object sender, EventArgs e)
{
string connectionString = "connectionString";
string sql = "sqlQuery";
SqlConnection connection = new SqlConnection(connectionString);
SqlDataAdapter dataadapter = new SqlDataAdapter(sql, connection);
DataSet ds = new DataSet();
connection.Open();
dataadapter.Fill(ds, "data");
connection.Close();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "data";
}
private void btnSend_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
textBox1.Text += "Processing .... " + row.Cells["data"].Value.ToString();
sendMail("subject", row.Cells["data"].Value.ToString(), "emailString");
)
}
}
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.AllowUserToAddRows = false;
}
private void sendMail (string subject, string content, string email)
{
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("myEmail@gmail.com");
mail.To.Add("toEmail@gmail.com");
mail.Subject = "Mail for " + content;
mail.Body = content;
SmtpServer.Port = 587;
SmtpServer.Credentials = new System.Net.NetworkCredential("myEmail@gmail.com", "myPassword");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
textBox1.Text += " -> Success\n";
}
catch
{
textBox1.Text += " -> Fail\n";
}
}
}
}
при запуске программы содержимое текстового поля изменяется только тогда, когда функция вызывается все время (все строки в цикле сетки данных).
Итак, как я могу заставить текстовое поле изменять содержимоекаждый раз вызывается функция.
Спасибо за чтение и, пожалуйста, помогите!