private void McuControl_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
if (serverThread != null)
{
if (serverThread.IsAlive)
{
ResetMcu();
mcuControlFlag = false;
}
}
}
catch (ThreadAbortException ex)
{
MessageBox.Show(ex.ToString() + "FormClosing");
}
}
private void ResetMcu()
{
try
{
//connMcuF.getIPAddrCount()的值是3,按理说应该执行两次的,只执行的一次,另外一次是不是窗体关闭 //得太快了都来不及执行了?请问该怎么处理?
for (int i = 1; i < connMcuF.getIPAddrCount(); i++)
{
MessageBox.Show(i.ToString());
string sqlSocketNo = "select SocketNo From Room Where IPAddress = '" + connMcuF.getItemText(i) + "'";
SqlDataReader SocketNoReader = G_SqlExecute.GetReader(sqlSocketNo);
if (SocketNoReader.Read())
{
int SocketNo = Convert.ToInt32(SocketNoReader.GetValue(0));
MoniterVarValue(SocketNo, "已经发送重启命令给:" + connMcuF.getItemText(i));
clientSoc[SocketNo].SendData("58 90 01 5D D3 0D 0A");
clientSoc[SocketNo].Soc.Shutdown(SocketShutdown.Both);
clientSoc[SocketNo].CloseSocket();
}
SocketNoReader.Close();
}
connMcuF.Close();
}
catch (ThreadStartException e)
{
MessageBox.Show(e.ToString());
}
finally
{
serverThread.Abort();
}
}
解决方案 »
- 请问,FileStream.Read方法
- 关于combox的问题
- 解析XML
- ssis包,添加了变量,如何保存在密码中
- 求助 c#简单问题
- To display a child form inside a top-level form?
- (顶的有分)求助!c#怎莫使用Visual Studio 2005 Extensions for Windows Workflow Foundation ?
- c#中如何将mainmenu的各菜单项显示到treeview上?
- 如何获取 驱动器信息?
- DataDrid的问题
- 为什么这DataGrid绑定后数据不显示呢?
- 对于C# Webform项目,添加到*.aspx页面上的控件如文本框为什么拖不动呢
connMcuF.getIPAddrCount()的值是3,按理说应该执行两次的,
只执行的一次,另外一次是不是窗体关闭得太快了都来不及执行了?
请问该怎么处理?
谢了,我把connMcuF.getIPAddrCount()替换成3,就会有异常提示!呵呵。
结贴!