我有一个程序可以根据datagridview数据发送电子邮件。发送电子邮件时效果很好,但是我希望在每次函数调用后更改文本框的内容。
<div class="form--input form--input-container form--select hasPlaceholder" data-type="dropdown-label" data-required="true">
<label for="countries">Dropdown</label>
<input type="hidden" id="countries" name="maritalStatus">
<input class="input--main" type="button" data-element="select" value="">
<span class="placeholder">A Dropdown with stuff</span>
<span class="selectChoice"></span>
<div class="framework dropdown dropdown--select-container">
<div id="" class="framework dropdown--select-item" data-value="UK" data-option="0">
<p class="framework text--paragraph ">
UK
</p>
<span class="dropdown--item-line"></span>
</div>
<div id="" class="framework dropdown--select-item" data-value="Russia" data-option="1">
<p class="atom text--paragraph ">
Russia
</p>
<span class="dropdown--item-line"></span>
</div>
</div>
</div>
<div my-noteEvent="" data-element="maritalStatus" data-target="myTarget" data-event="onchange" data-action="[{'Single':{'show':'#div1 #div3'}, {'married':{'show':'#div1 #div3'}}]">
</div>
在运行程序时,仅在函数始终调用(datagrid循环中的所有行)时,文本框的内容才会更改。
因此,每次调用函数时,如何使文本框更改内容。
感谢您的阅读和帮助!
答案 0 :(得分:0)
使用html5validator
。在后台线程(DoWork方法)中发送电子邮件,并在UI线程(ProgressChanged方法)中显示状态。
答案 1 :(得分:0)
如果您不想使用BackGroundWorker,则可以强制文本框自行更新。
试试这样的东西
foreach (DataGridViewRow row in dataGridView1.Rows)
{
textBox1.Text += "Processing .... " + row.Cells["data"].Value.ToString();
textBox1.Update();
sendMail("subject", row.Cells["data"].Value.ToString(), "emailString");
textBox1.Update();
}