Exemplo n.º 1
0
 private void exitToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         _client?.Dispose();
     }
     catch { }
     notifyIcon1.Dispose();
     this.Close();
 }
Exemplo n.º 2
0
        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";
                        }));
                    }
                });
            }
        }