초기 커밋.
This commit is contained in:
136
DDUtilityApp/LOGPARSER/FrmFindDialog.cs
Normal file
136
DDUtilityApp/LOGPARSER/FrmFindDialog.cs
Normal file
@@ -0,0 +1,136 @@
|
||||
using JWH;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DDUtilityApp.LOGPARSER
|
||||
{
|
||||
|
||||
public partial class FrmFindDialog : Form
|
||||
{
|
||||
|
||||
public event EventHandler FInd;
|
||||
|
||||
public Control Control { get; set; } = null;
|
||||
|
||||
public string SelectedText
|
||||
{
|
||||
get { return this.cboxFind.Text; }
|
||||
set { this.cboxFind.Text = value; }
|
||||
}
|
||||
|
||||
public FrmFindDialog()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.SetLayout();
|
||||
this.SetEventHandler();
|
||||
}
|
||||
|
||||
public FrmFindDialog(TextBox textBox) : this()
|
||||
{
|
||||
this.Control = textBox;
|
||||
}
|
||||
|
||||
private void SetLayout()
|
||||
{
|
||||
this.Text = "Find Dialog";
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
}
|
||||
|
||||
private void SetEventHandler()
|
||||
{
|
||||
this.btnNext.Click += BtnNext_Click;
|
||||
this.btnPrevious.Click += BtnPrevious_Click;
|
||||
this.btnClose.Click += BtnClose_Click;
|
||||
}
|
||||
|
||||
private void BtnNext_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
TextBox control = this.Control as TextBox;
|
||||
|
||||
int start = control.SelectionStart + control.SelectionLength;
|
||||
int index = control.Text.IndexOf(this.cboxFind.Text, start);
|
||||
if (index < 0) return;
|
||||
|
||||
control.SelectionStart = index;
|
||||
control.SelectionLength = this.cboxFind.Text.Length;
|
||||
control.ScrollToCaret();
|
||||
|
||||
if (this.FInd != null) this.FInd(this, new EventArgs());
|
||||
this.ComboBox_ItemAppend();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnPrevious_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
TextBox control = this.Control as TextBox;
|
||||
|
||||
int end = control.SelectionStart;
|
||||
int index = control.Text.LastIndexOf(this.cboxFind.Text, end);
|
||||
if (index < 0) return;
|
||||
|
||||
control.SelectionStart = index;
|
||||
control.SelectionLength = this.cboxFind.Text.Length;
|
||||
control.ScrollToCaret();
|
||||
|
||||
if (this.FInd != null) this.FInd(this, new EventArgs());
|
||||
this.ComboBox_ItemAppend();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnClose_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void ComboBox_ItemAppend()
|
||||
{
|
||||
try
|
||||
{
|
||||
string value = this.cboxFind.Text;
|
||||
if (string.IsNullOrWhiteSpace(value)) return;
|
||||
|
||||
this.cboxFind.Items.Remove(value);
|
||||
this.cboxFind.Items.Insert(0, value);
|
||||
this.cboxFind.Text = value;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
XLogger.Instance.Fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
public void Next(string selectedText = "")
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(selectedText)) this.cboxFind.Text = selectedText;
|
||||
this.BtnNext_Click(this.btnNext, new EventArgs());
|
||||
}
|
||||
|
||||
public void Pervious(string selectedText = "")
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(selectedText)) this.cboxFind.Text = selectedText;
|
||||
this.BtnPrevious_Click(this.btnNext, new EventArgs());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user