using DevComponents.DotNetBar; using JwKdsV.Entity.Common; using NLog; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace JwKdsV { public partial class BaseForm : Form { protected Logger logger = null; public BaseForm() { InitializeComponent(); logger = NLog.LogManager.GetLogger(GetType().FullName); } protected virtual void AppHookKeyDown(object sender, KeyEventArgs e) { } protected virtual void OnEnterClick(object sender, EventArgs e) { logger.Debug("键盘Enter事件未处理"); } /// /// 显示label消息 /// /// /// /// protected virtual void ShowMessage(Label control, string message, bool error = false) { if (IsDisposed || !control.Parent.IsHandleCreated) return; logger.Debug(message); this.Invoke(new Action(() => { control.ForeColor = SystemColors.ControlText; if (error) { control.ForeColor = Color.Red; } control.Text = message; control.Refresh(); })); } protected void ShowMessage(LabelX label, string message) { logger.Debug(message); this.Invoke(new Action(() => { label.Symbol = "\uf05a"; label.SymbolColor = Color.RoyalBlue; label.ForeColor = SystemColors.ControlText; label.Text = message; label.Refresh(); })); } protected void ShowMessage(LabelX label, string message, bool error) { logger.Debug(message); this.Invoke(new Action(() => { label.Symbol = "\uf05a"; label.SymbolColor = Color.RoyalBlue; label.ForeColor = SystemColors.ControlText; if (error) { label.Symbol = "\uf05c"; label.SymbolColor = Color.Red; label.ForeColor = Color.Red; } label.Text = message; label.Refresh(); })); } public event TransparentEventHandler AcceptButtonClick; protected virtual void OnAcceptButtonClick(TransparentEventArgs e) { AcceptButtonClick?.Invoke(this, e); } public event TransparentEventHandler CancelButtonClick; protected virtual void OnCancelButtonClick(TransparentEventArgs e) { CancelButtonClick?.Invoke(this, e); } } public delegate void TransparentEventHandler(object sender, TransparentEventArgs e); public enum TransparentAction { None = 0, Cancel = 1, Accept = 2, Replace = 3 } public class TransparentEventArgs : EventArgs { private readonly TransparentAction _action; private readonly string _keyCode; private readonly object _data; public Tuple, Worker> Authz; public TransparentEventArgs(TransparentAction action, string keyCode, object data) : this(action, keyCode, data, null) { } public TransparentEventArgs(TransparentAction action, string keyCode, object data, Tuple, Worker> authz = null) { this._keyCode = keyCode; this._data = data; this._action = action; this.Authz = authz; } public TransparentAction Action { get { return this._action; } } public object Data { get { return this._data; } } public string KeyCode { get { return this._keyCode; } } } }