|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
|
|
|
|
|
namespace POSV.Component
|
|
|
|
|
{
|
|
|
|
|
[ToolboxItem(true)]
|
|
|
|
|
public partial class KeyboardExt : BaseUserControl
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否允许输入小数点
|
|
|
|
|
/// </summary>
|
|
|
|
|
bool allowDecimalSeparator = true;
|
|
|
|
|
|
|
|
|
|
public KeyboardExt()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool AllowDecimalSeparator
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return allowDecimalSeparator;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
allowDecimalSeparator = value;
|
|
|
|
|
|
|
|
|
|
this.touchButtonX17.Lock = !this.allowDecimalSeparator;
|
|
|
|
|
this.touchButtonX17.SymbolSize = 10;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 锁定
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void LockCancel()
|
|
|
|
|
{
|
|
|
|
|
foreach (Control btn in this.layoutPanel.Controls)
|
|
|
|
|
{
|
|
|
|
|
if (btn is TouchButtonX && !"关闭".Equals(btn.Text))
|
|
|
|
|
{
|
|
|
|
|
TouchButtonX button = (TouchButtonX)btn;
|
|
|
|
|
button.SymbolSize = 10;
|
|
|
|
|
button.Lock = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.touchButtonX17.Lock = !this.allowDecimalSeparator;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 解除锁定
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void UnLockCancel()
|
|
|
|
|
{
|
|
|
|
|
foreach (Control btn in this.layoutPanel.Controls)
|
|
|
|
|
{
|
|
|
|
|
if (btn is TouchButtonX && !"关闭".Equals(btn.Text))
|
|
|
|
|
{
|
|
|
|
|
TouchButtonX button = (TouchButtonX)btn;
|
|
|
|
|
button.SymbolSize = 10;
|
|
|
|
|
button.Lock = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.touchButtonX17.Lock = !this.allowDecimalSeparator;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 锁定
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void Lock()
|
|
|
|
|
{
|
|
|
|
|
foreach (Control btn in this.layoutPanel.Controls)
|
|
|
|
|
{
|
|
|
|
|
if (btn is TouchButtonX)
|
|
|
|
|
{
|
|
|
|
|
TouchButtonX button = (TouchButtonX)btn;
|
|
|
|
|
button.SymbolSize = 10;
|
|
|
|
|
button.Lock = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.touchButtonX17.Lock = !this.allowDecimalSeparator;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 解除锁定
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void UnLock()
|
|
|
|
|
{
|
|
|
|
|
foreach (Control btn in this.layoutPanel.Controls)
|
|
|
|
|
{
|
|
|
|
|
if (btn is TouchButtonX)
|
|
|
|
|
{
|
|
|
|
|
TouchButtonX button = (TouchButtonX)btn;
|
|
|
|
|
button.SymbolSize = 10;
|
|
|
|
|
button.Lock = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.touchButtonX17.Lock = !this.allowDecimalSeparator;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public event KeyboardExtEventHandler KeyboardBefore;
|
|
|
|
|
protected virtual void OnKeyboardBefore(KeyboardExtEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
KeyboardBefore?.Invoke(this, e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public event KeyboardExtEventHandler KeyboardAfter;
|
|
|
|
|
protected virtual void OnKeyboardAfter(KeyboardExtEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
KeyboardAfter?.Invoke(this, e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void OnTouchBeforeClick(object sender, TouchEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.OnKeyboardBefore(new KeyboardExtEventArgs(e.Value));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void OnTouchClick(object sender, TouchEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.OnKeyboardAfter(new KeyboardExtEventArgs(e.Value));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public delegate void KeyboardExtEventHandler(object sender, KeyboardExtEventArgs e);
|
|
|
|
|
|
|
|
|
|
public class KeyboardExtEventArgs : EventArgs
|
|
|
|
|
{
|
|
|
|
|
public readonly string KeyCode;
|
|
|
|
|
public KeyboardExtEventArgs(string keyCode)
|
|
|
|
|
{
|
|
|
|
|
this.KeyCode = keyCode;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|