Files
ATV_STDLabelAttach/Handler/Project_form2/Don't change it/Dialog/fTouchNumDot.cs
2025-07-17 16:11:46 +09:00

86 lines
2.3 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 Project.Dialog
{
public partial class fTouchNumDot : Form
{
public fTouchNumDot(string value)
{
InitializeComponent();
this.tbInput.KeyDown += (s1, e1) => { if (e1.KeyCode == Keys.Enter) Confirm(); };
this.KeyPreview = true;
this.tbInput.Text = value;
this.KeyDown += (s1, e1) =>
{
if (e1.KeyCode == Keys.Escape) this.Close();
};
}
private void fTouchNumDot_Load(object sender, EventArgs e)
{
this.tbInput.SelectAll();
this.tbInput.Focus();
}
private void Confirm()
{
string id = tbInput.Text.Trim();
if (id.isEmpty())
{
tbInput.Focus();
return;
}
DialogResult = DialogResult.OK;
}
public void ProcessKey(ref TextBox cmb_rfid, string key)
{
if (key == "B")
{
if (cmb_rfid.Text != "")
cmb_rfid.Text = cmb_rfid.Text.Substring(0, cmb_rfid.Text.Length - 1);
}
else if (key == "C")
{
cmb_rfid.Text = "";
}
else if (key == "E")
{
Confirm();
}
else
{
if (cmb_rfid.SelectionLength > 0 && cmb_rfid.TextLength == cmb_rfid.SelectionLength)
{
cmb_rfid.Text = key;
}
else if (cmb_rfid.SelectionLength > 0)
{
//선택된 영역을 대체해준다.
cmb_rfid.SelectedText = key;
}
else cmb_rfid.Text += key;
}
cmb_rfid.SelectionLength = 0;
if (cmb_rfid.Text != "")
cmb_rfid.SelectionStart = cmb_rfid.Text.Length;
}
private void arLabel1_Click(object sender, EventArgs e)
{
var ctl = sender as arCtl.arLabel;
ProcessKey(ref tbInput, ctl.Tag.ToString());
}
}
}