private void EncReq(object sender, RoutedEventArgs e) { if (inputFile.Text == "") { statusBox.Text += "未选择输入文件\n"; MessageBox.Show("请选择输入文件"); return; } if (outputFile.Text == "") { outputFile.Text = inputFile.Text + ".sdc";//sm document cipher } doCacnel = false; inputBtn.IsEnabled = false; outputBtn.IsEnabled = false; inputFile.IsReadOnly = true; outputFile.IsReadOnly = true; encBtn.IsEnabled = false; decBtn.IsEnabled = false; cancel.IsEnabled = true; statusBox.Text += "选择加密源……\n"; var sel = switchServ(); if (sel == null) { statusBox.Text += "已取消操作\n"; tryCancel(); return; } statusBox.Text += "选择: " + sel.name + "\n"; statusBox.Text += "建立连接……\n"; conn = new ClientLib.Conn(sel.addr); workTh = ctx.CalcHash(inputFile.Text, EncHashCallback); statusBox.Text += "计算Hash……\n"; }
private void tryCancel(bool dontAbort = false) { doCacnel = true; if (conn != null) { conn.Close(); conn = null; } if (workTh != null && !dontAbort) { workTh.Abort(); workTh = null; } inputBtn.IsEnabled = true; outputBtn.IsEnabled = true; inputFile.IsReadOnly = false; outputFile.IsReadOnly = false; encBtn.IsEnabled = true; decBtn.IsEnabled = true; cancel.IsEnabled = false; }