private void exitToolStripMenuItem_Click(object sender, EventArgs e) { try { _client?.Dispose(); } catch { } notifyIcon1.Dispose(); this.Close(); }
private void skinButton1_Click(object sender, EventArgs e) { if (skinButton1.Text == "Connect") { _loadingUserControl.Message = "正在连接到FTPServer..."; _loadingUserControl.Show(this); groupBox1.Enabled = false; splitContainer2.Panel2.Enabled = false; try { var ip = skinWaterTextBox1.Text; var port = int.Parse(skinWaterTextBox2.Text); var username = skinWaterTextBox3.Text; var pwd = skinWaterTextBox4.Text; _client = new FTPClient(ip, port, username, pwd); _client.Ondisconnected += _client_Ondisconnected; Task.Run(() => { try { _client.Connect(); Log($"连接到FTPServer {ip}:{port}成功"); splitContainer2.BeginInvoke(new Action(() => { groupBox1.Enabled = true; skinWaterTextBox1.Enabled = skinWaterTextBox2.Enabled = skinWaterTextBox3.Enabled = skinWaterTextBox4.Enabled = false; skinButton1.Enabled = true; skinButton1.Text = "Disconnect"; splitContainer2.Panel2.Enabled = true; textBox2.Text = "/"; listView2.Enabled = true; })); textBox2_TextChanged(null, null); } catch (Exception ex) { MessageBox.Show("连接到FTPServer失败,ex:" + ex.Message); Log("连接到FTPServer失败", ex.Message); this.BeginInvoke(new Action(() => { groupBox1.Enabled = true; })); } finally { _loadingUserControl.Hide(this); } }); } catch (Exception ex) { _loadingUserControl.Hide(this); MessageBox.Show("连接到FTPServer失败,ex:" + ex.Message); Log("连接到FTPServer失败", ex.Message); groupBox1.Enabled = true; } finally { _loadingUserControl.Hide(this); } } else { Log("正在断开FTP连接..."); Task.Run(() => { try { _client.Dispose(); Log("FTP连接已断开"); } catch (Exception ex) { Log("断开FTP失败", ex.Message); } finally { skinButton1.Invoke(new Action(() => { skinWaterTextBox1.Enabled = skinWaterTextBox2.Enabled = skinWaterTextBox3.Enabled = skinWaterTextBox4.Enabled = true; textBox2.Text = "/"; skinButton1.Enabled = true; listView2.Enabled = false; listView2.Clear(); skinButton1.Text = "Connect"; })); } }); } }