📄 basicprofiliecontrol.cs
字号:
namespace Imps.Client.Pc.UIContactList
{
using Imps.Client.Core;
using Imps.Client.Pc;
using Imps.Client.Pc.BizControls;
using Imps.Client.Pc.Controls;
using Imps.Client.Pc.WndlessControls;
using Imps.Client.Resource;
using Imps.Client.Utils;
using Imps.Common;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
public class BasicProfilieControl : ProfileControlBase
{
private Imps.Client.Core.Contact _contact;
private WndlessControlCollection _controlCollection;
private IFrameworkWindow _iFrameworkWindow;
private WndlessScorePictureBox _scoreBox;
private XButton btnSaveP;
private XButton btnUserP;
private XComboBox cboGender;
private CheckBox chkOnlineNotify;
private IContainer components;
private GroupBox gbSetting;
private GroupBox groupBoxMain;
private XLabel label3;
private XLabel label6;
private XLabel lblName_Nav;
private XLabel lblNickName_Nav;
private XLabel lblProvinceCity_Nav;
private XLabel lblSex_Nav;
private LinkLabel LinkFeike;
private ToolStripMenuItem m_menu_edit_copy;
private ToolStripMenuItem m_menu_edit_selectall;
private menu_widget m_menu_redit;
private menu_widget m_menu_wedit;
private ToolStripMenuItem m_menu_wedit_copy;
private ToolStripMenuItem m_menu_wedit_cut;
private ToolStripMenuItem m_menu_wedit_delete;
private ToolStripMenuItem m_menu_wedit_paste;
private ToolStripMenuItem m_menu_wedit_selectall;
private ToolStripMenuItem m_menu_wedit_undo;
private ChatEditCtrlManager m_txtNicknameMng;
private ChatEditCtrlManager m_xTextBoxBackNameMng;
private ChatEditCtrlManager m_xTextBoxMoodPhraseMng;
private PictureBox pbCrbt;
private SaveFileDialog saveFileDialog;
private ToolStripSeparator toolStripSeparator1;
private ToolStripSeparator toolStripSeparator2;
private XTextBox txtName;
private ChatRichTextBox txtNickname;
private XLabel xLabel1;
private XLabel xLabel2;
private XLabel xLabel3;
private XLabel xLabel5;
private XLabel xLabelCrbt;
private XLabel xLabelSysAlert;
private WndlessPortrait xpbProtrait;
private XTextBox xtbCity;
private XTextBox xtbProvince;
private ChatRichTextBox xTextBoxBackName;
private XTextBox xTextBoxGroupName;
private ChatRichTextBox xTextBoxMoodPhrase;
public BasicProfilieControl(IFrameworkWindow frameworkWnd, Imps.Client.Core.Contact contact)
{
this._iFrameworkWindow = frameworkWnd;
this._contact = contact;
this.InitializeComponent();
this.InitializeWndlessControl();
this.xTextBoxMoodPhrase.MaxLength = 0x100;
try
{
this.m_txtNicknameMng = new ChatEditCtrlManager(this.txtNickname, true);
this.m_txtNicknameMng.DefaultTextFont = SystemFonts.get_DefaultFont();
this.txtNickname.Font = this.Font;
this.m_txtNicknameMng.DefaultTextFont = this.Font;
this.txtNickname.MouseDown += new MouseEventHandler(this.on_richedit_mousedown);
this.m_txtNicknameMng.ConvertString = new DelegateConvert(StringHelper.EncodString);
if (EnvHelper.DynamicGifCtlRegistered)
{
this.m_txtNicknameMng.ConvertSympol = true;
}
this.m_txtNicknameMng.SympolSize = new Size(14, 14);
this.txtNickname.DetectUrls = false;
this.m_xTextBoxMoodPhraseMng = new ChatEditCtrlManager(this.xTextBoxMoodPhrase, true);
this.m_xTextBoxMoodPhraseMng.DefaultTextFont = this.Font;
this.xTextBoxMoodPhrase.Font = this.Font;
this.xTextBoxMoodPhrase.MouseDown += new MouseEventHandler(this.on_richedit_mousedown);
this.m_xTextBoxMoodPhraseMng.ConvertString = new DelegateConvert(StringHelper.EncodString);
if (EnvHelper.DynamicGifCtlRegistered)
{
this.m_xTextBoxMoodPhraseMng.ConvertSympol = true;
}
this.m_xTextBoxMoodPhraseMng.SympolSize = new Size(14, 14);
this.m_xTextBoxBackNameMng = new ChatEditCtrlManager(this.xTextBoxBackName, false);
this.m_xTextBoxBackNameMng.DefaultTextFont = this.Font;
this.xTextBoxBackName.Font = this.Font;
this.m_xTextBoxBackNameMng.ConvertString = new DelegateConvert(StringHelper.EncodString);
if (EnvHelper.DynamicGifCtlRegistered)
{
this.m_xTextBoxBackNameMng.ConvertSympol = true;
}
this.m_xTextBoxBackNameMng.SympolSize = new Size(14, 14);
this.xTextBoxMoodPhrase.DetectUrls = false;
this.xTextBoxGroupName.Text = string.Empty;
}
catch (Exception exception)
{
ClientLogger.WriteException(exception);
}
this.HandleUiChanged();
this.xLabelCrbt.Text = string.Empty;
this.pbCrbt.Image = ImpsIcons.CrbtToMe;
this.xTextBoxBackName.MaxLength = 0x40;
this.btnSaveP.Enabled = contact.CanSaveAndUseMyPortrait;
this.btnUserP.Enabled = contact.CanSaveAndUseMyPortrait;
}
private void AddStar()
{
}
private void BasicProfilieControl_Load(object sender, EventArgs e)
{
this.chkOnlineNotify.Enabled = this._iFrameworkWindow.AccountManager.CurrentUser.Configuration.UserSetting.NotifyWinodwSetting.OnlineNotify.OriginalValue == 2;
if (!this._contact.EnableEditUserSetProfile)
{
this.xTextBoxBackName.Enabled = false;
}
if ((this._contact.Type == ContactType.ChatFriend) || (this._contact.Type == ContactType.MobileBuddy))
{
this.chkOnlineNotify.Visible = false;
}
else
{
this.chkOnlineNotify.Visible = true;
}
this.xLabel5.Visible = this._contact.EnableViewFeike;
this.LinkFeike.Visible = this._contact.EnableViewFeike;
this.xTextBoxBackName.Focus();
}
private void btnSaveP_Click(object sender, EventArgs e)
{
PortraitExHelper.SaveContactPortrait(this.saveFileDialog, this._contact, this);
}
private void btnUserP_Click(object sender, EventArgs e)
{
PortraitExHelper.UseContactPortrait(this.CurrentUser, this._contact, this._iFrameworkWindow, this);
}
public override bool CheckUserInput()
{
if (this.txtName.Text.Trim().Length > 0x40)
{
this._iFrameworkWindow.UnifiedMessageBox.ShowInfo(base.FindForm(), StringTable.PersonalInfo.MsgPleaseInputName);
return false;
}
return true;
}
public override bool ControlLoad()
{
this._contact.PersonalInfo.PropertiesChanged += new EventHandler<PropertiesChangedEventArgs>(this, (IntPtr) this.PersonalInfo_PropertiesChanged);
this._contact.Presence.PropertiesChanged += new EventHandler<PropertiesChangedEventArgs>(this, (IntPtr) this.Presence_PropertiesChanged);
return base.ControlLoad();
}
public override bool ControlUnload()
{
this._contact.PersonalInfo.PropertiesChanged -= new EventHandler<PropertiesChangedEventArgs>(this, (IntPtr) this.PersonalInfo_PropertiesChanged);
this._contact.Presence.PropertiesChanged -= new EventHandler<PropertiesChangedEventArgs>(this, (IntPtr) this.Presence_PropertiesChanged);
return base.ControlUnload();
}
protected override void Dispose(bool disposing)
{
if (disposing && (this.components != null))
{
this.components.Dispose();
}
base.Dispose(disposing);
}
protected override void HandleUiChanged()
{
base.HandleUiChanged();
this.chkOnlineNotify.CheckedChanged += new EventHandler(this.UIData_Changed);
this.xTextBoxBackName.TextChanged += new EventHandler(this.UIData_Changed);
}
private void InitializeComponent()
{
this.components = new Container();
ComponentResourceManager manager = new ComponentResourceManager(typeof(BasicProfilieControl));
this.lblNickName_Nav = new XLabel();
this.lblName_Nav = new XLabel();
this.txtName = new XTextBox();
this.lblSex_Nav = new XLabel();
this.lblProvinceCity_Nav = new XLabel();
this.label3 = new XLabel();
this.xTextBoxBackName = new ChatRichTextBox();
this.m_menu_wedit = new menu_widget(this.components);
this.m_menu_wedit_undo = new ToolStripMenuItem();
this.toolStripSeparator1 = new ToolStripSeparator();
this.m_menu_wedit_cut = new ToolStripMenuItem();
this.m_menu_wedit_copy = new ToolStripMenuItem();
this.m_menu_wedit_paste = new ToolStripMenuItem();
this.m_menu_wedit_delete = new ToolStripMenuItem();
this.toolStripSeparator2 = new ToolStripSeparator();
this.m_menu_wedit_selectall = new ToolStripMenuItem();
this.chkOnlineNotify = new CheckBox();
this.txtNickname = new ChatRichTextBox();
this.m_menu_redit = new menu_widget(this.components);
this.m_menu_edit_copy = new ToolStripMenuItem();
this.m_menu_edit_selectall = new ToolStripMenuItem();
this.label6 = new XLabel();
this.xTextBoxMoodPhrase = new ChatRichTextBox();
this.xLabel1 = new XLabel();
this.xTextBoxGroupName = new XTextBox();
this.groupBoxMain = new GroupBox();
this.xLabelCrbt = new XLabel();
this.pbCrbt = new PictureBox();
this.btnSaveP = new XButton();
this.btnUserP = new XButton();
this.cboGender = new XComboBox();
this.xLabel3 = new XLabel();
this.xLabel2 = new XLabel();
this.xtbCity = new XTextBox();
this.xtbProvince = new XTextBox();
this.gbSetting = new GroupBox();
this.xLabelSysAlert = new XLabel();
this.saveFileDialog = new SaveFileDialog();
this.xLabel5 = new XLabel();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -