⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssfilesharecontrol.cs

📁 飞信的收发使用csharp进行开发
💻 CS
字号:
namespace Imps.Client.Pc.Options
{
    using Imps.Client;
    using Imps.Client.Core;
    using Imps.Client.Pc;
    using Imps.Client.Pc.Controls;
    using Imps.Client.Resource;
    using Imps.Client.Utils;
    using System;
    using System.ComponentModel;
    using System.Drawing;
    using System.IO;
    using System.Windows.Forms;

    public class SsFileShareControl : OptionsControlBase
    {
        private IFrameworkWindow _iFrameworkWnd;
        private XButton btnModify;
        private IContainer components;
        private FolderBrowserDialog folderBrowserDialogPath;
        private XLabel lbFileShare;
        private XLabel lbFileShareTip;
        private XTextBox xtbPath;

        public SsFileShareControl(IFrameworkWindow iFrameworkWnd)
        {
            this._iFrameworkWnd = iFrameworkWnd;
            this.InitializeComponent();
            this.handleUIEvent();
        }

        private void btnModify_Click(object sender, EventArgs e)
        {
            this.folderBrowserDialogPath.RootFolder = Environment.SpecialFolder.Desktop;
            string str = this._user.Configuration.UserSetting.ConversationSetting.DefaultShareContentSavePath.Value;
            if ((str != null) && (str.Length != 0))
            {
                this.folderBrowserDialogPath.SelectedPath = this._user.Configuration.UserSetting.ConversationSetting.DefaultShareContentSavePath.Value;
            }
            else
            {
                this.folderBrowserDialogPath.SelectedPath = Environment.SpecialFolder.Personal.ToString();
            }
            this.folderBrowserDialogPath.Description = StringTable.FileShare.lbFileShareCfgTip;
            if (this.folderBrowserDialogPath.ShowDialog() == DialogResult.OK)
            {
                string selectedPath = this.folderBrowserDialogPath.SelectedPath;
                if (Directory.Exists(selectedPath))
                {
                    this.xtbPath.Text = selectedPath;
                }
            }
        }

        public override bool CheckUserInput()
        {
            if (!Directory.Exists(this.xtbPath.Text))
            {
                this._iFrameworkWnd.UnifiedMessageBox.ShowError(StringTable.Configuration.DirectoryNotExist_Transfer);
                return false;
            }
            return true;
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing && (this.components != null))
            {
                this.components.Dispose();
            }
            base.Dispose(disposing);
        }

        private void handleUIEvent()
        {
            this.xtbPath.TextChanged += new EventHandler(this.uiData_Changed);
        }

        private void InitializeComponent()
        {
            this.lbFileShare = new XLabel();
            this.lbFileShareTip = new XLabel();
            this.btnModify = new XButton();
            this.xtbPath = new XTextBox();
            this.folderBrowserDialogPath = new FolderBrowserDialog();
            XLabel label = new XLabel();
            base.SuspendLayout();
            label.AutoEllipsis = false;
            label.BorderColor = Color.Black;
            label.BorderStyle = BorderStyle.Fixed3D;
            label.ButtonBorderStyle = ButtonBorderStyle.Solid;
            label.Location = new Point(80, 0x10);
            label.Name = "lbLine";
            label.Size = new Size(280, 2);
            label.TabIndex = 8;
            label.TextAlign = ContentAlignment.TopLeft;
            label.UseMnemonic = false;
            this.lbFileShare.AutoEllipsis = false;
            this.lbFileShare.AutoSize = true;
            this.lbFileShare.BorderColor = Color.Black;
            this.lbFileShare.BorderStyle = BorderStyle.None;
            this.lbFileShare.ButtonBorderStyle = ButtonBorderStyle.Solid;
            this.lbFileShare.Location = new Point(5, 9);
            this.lbFileShare.Name = "lbFileShare";
            this.lbFileShare.Size = new Size(0x3b, 13);
            this.lbFileShare.TabIndex = 0;
            this.lbFileShare.Text = "lbFileShare";
            this.lbFileShare.TextAlign = ContentAlignment.TopLeft;
            this.lbFileShare.UseMnemonic = false;
            this.lbFileShareTip.AutoEllipsis = false;
            this.lbFileShareTip.AutoSize = true;
            this.lbFileShareTip.BorderColor = Color.Black;
            this.lbFileShareTip.BorderStyle = BorderStyle.None;
            this.lbFileShareTip.ButtonBorderStyle = ButtonBorderStyle.Solid;
            this.lbFileShareTip.Location = new Point(0x12, 0x24);
            this.lbFileShareTip.Name = "lbFileShareTip";
            this.lbFileShareTip.Size = new Size(0x4a, 13);
            this.lbFileShareTip.TabIndex = 1;
            this.lbFileShareTip.Text = "lbFileShareTip";
            this.lbFileShareTip.TextAlign = ContentAlignment.TopLeft;
            this.lbFileShareTip.UseMnemonic = false;
            this.btnModify.Location = new Point(0x10b, 0x5d);
            this.btnModify.Name = "btnModify";
            this.btnModify.Size = new Size(0x4b, 0x19);
            this.btnModify.TabIndex = 3;
            this.btnModify.UseVisualStyleBackColor = true;
            this.btnModify.Click += new EventHandler(this.btnModify_Click);
            this.xtbPath.BackColor = Color.FromArgb(240, 240, 240);
            this.xtbPath.BorderStyle = BorderStyle.FixedSingle;
            this.xtbPath.Location = new Point(0x15, 0x40);
            this.xtbPath.Name = "xtbPath";
            this.xtbPath.ReadOnly = true;
            this.xtbPath.Size = new Size(0x141, 20);
            this.xtbPath.TabIndex = 2;
            base.AutoScaleDimensions = new SizeF(6f, 13f);
            base.AutoScaleMode = AutoScaleMode.Font;
            base.Controls.Add(this.lbFileShare);
            base.Controls.Add(this.xtbPath);
            base.Controls.Add(this.btnModify);
            base.Controls.Add(this.lbFileShareTip);
            base.Controls.Add(label);
            base.Name = "SsFileShareControl";
            base.Size = new Size(0x16b, 0x1b1);
            base.Load += new EventHandler(this.SsFileShareControl_Load);
            base.ResumeLayout(false);
            base.PerformLayout();
        }

        private void SsFileShareControl_Load(object sender, EventArgs e)
        {
            this.lbFileShare.Text = StringTable.FileShare.lbFileShareCfg;
            this.lbFileShareTip.Text = StringTable.FileShare.lbFileShareCfgTip;
            this.btnModify.Text = StringTable.Common.btnBrowse;
        }

        private void uiData_Changed(object sender, EventArgs e)
        {
            UiErrorHelper.HandEventSafely(this._iFrameworkWnd, delegate {
                base.Modified = true;
            });
        }

        public override bool UpdateData(bool update)
        {
            try
            {
                if (update)
                {
                    if (!this.CheckUserInput())
                    {
                        return false;
                    }
                    Suspender suspender = new Suspender(this._user.Configuration.UserSetting);
                    try
                    {
                        this._user.Configuration.UserSetting.ConversationSetting.DefaultShareContentSavePath.ProposedValue = this.xtbPath.Text;
                    }
                    finally
                    {
                        suspender.Dispose();
                    }
                }
                else
                {
                    this.xtbPath.Text = (string) this._user.Configuration.UserSetting.ConversationSetting.DefaultShareContentSavePath;
                }
                base.Modified = false;
                return true;
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
                return false;
            }
        }

        private Imps.Client.Core.User _user
        {
            get
            {
                return this._iFrameworkWnd.AccountManager.CurrentUser;
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -