大家好,我用winform做了个邮件系统,然后在发送的界面上有发送按钮,点击发送按钮,启动一个线程,然后发送。
主要程序如下:
点击按钮事件里:
Thread thread = null;
if(thread == null)
{
thread = new Thread(new ThreadStart(WriteMail));
thread.Start();
}//发送函数
public void WriteMail()
{
try
{
if(收件人为空)//,设置发送人姓名
{
MessageBox.Show("收件人为空!");
return;
}
else
{
发送部分
}
catch()
... ...
}
}但是我的程序老是有问题。当有收件人的时候,程序能正常运行;没有收件人的时候,执行了return语句,发送界面没有关闭,提示输入收件人,然后等待输入收件人后重新点击发送按钮,但是线程就不对了,线程因该是中断了吧,请问大家,我这样设计是不是有什么问题?或者线程怎么控制?
主要程序如下:
点击按钮事件里:
Thread thread = null;
if(thread == null)
{
thread = new Thread(new ThreadStart(WriteMail));
thread.Start();
}//发送函数
public void WriteMail()
{
try
{
if(收件人为空)//,设置发送人姓名
{
MessageBox.Show("收件人为空!");
return;
}
else
{
发送部分
}
catch()
... ...
}
}但是我的程序老是有问题。当有收件人的时候,程序能正常运行;没有收件人的时候,执行了return语句,发送界面没有关闭,提示输入收件人,然后等待输入收件人后重新点击发送按钮,但是线程就不对了,线程因该是中断了吧,请问大家,我这样设计是不是有什么问题?或者线程怎么控制?
解决方案 »
- 如何获取多表查询的表结构信息?
- .NET安装部署,出现无法注册模块提示
- 关于winform 中的 spliter
- 这个功能应该如何来实现,大家进来帮忙看看.
- 查询两个表,GRID也显示了两个表的字段,但是我只想显示一个表的字段。各位老大,帮小弟看看,谢谢了。
- WMP 怎么把avi原始尺寸拉升?
- 再问Excel的问题,服务器端的文件,如何在客户端像双击一样打开,而不是在嵌IE中打开。
- 有专门讲winform的好书(c#)吗?想研究一下,帮助推荐一本,谢谢!
- 怎么动态更改窗口ico图标
- 我不知道在.net(使用C#)中,怎么做一个类似activex的东西,用来嵌运行在网页客户端中
- 产生随机数的问题
- C# 中数据更新问题,泣求望各位大侠帮忙~~!!!
public void WriteMail()
{
while(true)
{
try
{
if(收件人为空)//,设置发送人姓名
{
MessageBox.Show("收件人为空!");
}
else
{
发送部分
}
}
catch()
{
}
... ...
}
}
{
if(收件人为空)//,设置发送人姓名
{ MessageBox.Show("收件人为空!"); //做一窗口输入收件人
} 发送部分 catch()
... ...
}
thread.Abort();
Thread thread ;
if(!thread.islive)
{
Thread thread = new Thread(new ThreadStart(WriteMail));
thread.Start(); }