143 lines
3.5 KiB
C#
143 lines
3.5 KiB
C#
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 ResultView.Dialog
|
|
{
|
|
public partial class fTouchKeyFull : Form
|
|
{
|
|
public fTouchKeyFull(string title, string value)
|
|
{
|
|
InitializeComponent();
|
|
this.lbTitle.Text = title;
|
|
this.tbInput.Text = value;
|
|
this.KeyDown += (s1, e1) =>
|
|
{
|
|
if (e1.KeyCode == Keys.Escape)
|
|
this.Close();
|
|
};
|
|
this.lbTitle.MouseMove += LbTitle_MouseMove;
|
|
this.lbTitle.MouseUp += LbTitle_MouseUp;
|
|
this.lbTitle.MouseDown += LbTitle_MouseDown;
|
|
}
|
|
|
|
private void fTouchKeyFull_Load(object sender, EventArgs e)
|
|
{
|
|
this.Show();
|
|
//'Application.DoEvents();
|
|
this.tbInput.SelectAll();
|
|
this.tbInput.Focus();
|
|
}
|
|
#region "Mouse Form Move"
|
|
|
|
private Boolean fMove = false;
|
|
private Point MDownPos;
|
|
private void LbTitle_MouseMove(object sender, MouseEventArgs e)
|
|
{
|
|
if (fMove)
|
|
{
|
|
Point offset = new Point(e.X - MDownPos.X, e.Y - MDownPos.Y);
|
|
this.Left += offset.X;
|
|
this.Top += offset.Y;
|
|
offset = new Point(0, 0);
|
|
}
|
|
}
|
|
private void LbTitle_MouseUp(object sender, MouseEventArgs e)
|
|
{
|
|
fMove = false;
|
|
}
|
|
private void LbTitle_MouseDown(object sender, MouseEventArgs e)
|
|
{
|
|
MDownPos = new Point(e.X, e.Y);
|
|
fMove = true;
|
|
}
|
|
|
|
#endregion
|
|
|
|
private void touchKeyFull1_keyClick(string key)
|
|
{
|
|
switch (key)
|
|
{
|
|
case "CLR":
|
|
this.tbInput.Text = string.Empty;
|
|
break;
|
|
case "BACK":
|
|
|
|
if (this.tbInput.SelectionLength > 0)
|
|
{
|
|
//A specific area has been selected
|
|
var head = tbInput.Text.Substring(0, tbInput.SelectionStart);
|
|
var tail = tbInput.Text.Substring(tbInput.SelectionLength + tbInput.SelectionStart);
|
|
tbInput.Text = head + tail;
|
|
tbInput.SelectionStart = head.Length;
|
|
tbInput.SelectionLength = 0;
|
|
}
|
|
else
|
|
{
|
|
var si = this.tbInput.SelectionStart - 1;
|
|
var sl = this.tbInput.SelectionLength;
|
|
if(si >= 0)
|
|
{
|
|
var head = tbInput.Text.Substring(0, si);
|
|
var tail = tbInput.Text.Substring(si + 1);
|
|
|
|
tbInput.Text = head + tail;
|
|
tbInput.SelectionStart = head.Length;
|
|
tbInput.SelectionLength = 0;
|
|
}
|
|
}
|
|
|
|
break;
|
|
case "ENTER":
|
|
this.DialogResult = DialogResult.OK;
|
|
break;
|
|
default:
|
|
var si2 = this.tbInput.SelectionStart ;
|
|
var head2 = tbInput.Text.Substring(0, si2);
|
|
var tail2 = tbInput.Text.Substring(si2 );
|
|
|
|
tbInput.Text = head2 + key + tail2;
|
|
tbInput.SelectionStart = head2.Length+1;
|
|
tbInput.SelectionLength = 0;
|
|
|
|
|
|
//this.tbInput.Text += key;
|
|
//this.tbInput.SelectionStart = this.tbInput.TextLength;
|
|
|
|
break;
|
|
}
|
|
this.tbInput.Focus();
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void button2_Click(object sender, EventArgs e)
|
|
{
|
|
//Delete from front
|
|
if (this.tbInput.Text.Length < 1) return;
|
|
if (this.tbInput.Text.Length < 2) tbInput.Text = string.Empty;
|
|
else tbInput.Text = tbInput.Text.Substring(1);
|
|
tbInput.SelectionStart = 0;// this.tbInput.TextLength;
|
|
tbInput.Focus();
|
|
}
|
|
|
|
private void button3_Click(object sender, EventArgs e)
|
|
{
|
|
//Delete from back
|
|
if (this.tbInput.Text.Length < 1) return;
|
|
if (this.tbInput.Text.Length < 2) tbInput.Text = string.Empty;
|
|
else tbInput.Text = tbInput.Text.Substring(0, tbInput.Text.Length - 1);
|
|
tbInput.SelectionStart = this.tbInput.TextLength;
|
|
tbInput.Focus();
|
|
}
|
|
}
|
|
}
|