219 lines
9.1 KiB
C#
219 lines
9.1 KiB
C#
|
using RyzStudio.Windows.Forms;
|
|||
|
using RyzStudio.Windows.ThemedForms;
|
|||
|
using System;
|
|||
|
using System.ComponentModel;
|
|||
|
using System.Windows.Forms;
|
|||
|
|
|||
|
namespace FizzyLauncher
|
|||
|
{
|
|||
|
public class FindForm : TDialogForm
|
|||
|
{
|
|||
|
private System.Windows.Forms.Label label1;
|
|||
|
private TButton button2;
|
|||
|
private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator1;
|
|||
|
private TButton button1;
|
|||
|
private TTextBox textBox1;
|
|||
|
|
|||
|
|
|||
|
private BookmarkTreeView treeView1 = null;
|
|||
|
private bool findNextNew = false;
|
|||
|
|
|||
|
|
|||
|
public FindForm(MainForm parent, BookmarkTreeView treeView)
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
|
|||
|
treeView1 = treeView;
|
|||
|
|
|||
|
this.ParentForm = parent;
|
|||
|
this.StartPosition = FormStartPosition.WindowsDefaultLocation;
|
|||
|
|
|||
|
textBox1.InnerTextBox.PreviewKeyDown += textBox1_PreviewKeyDown;
|
|||
|
}
|
|||
|
|
|||
|
private void InitializeComponent()
|
|||
|
{
|
|||
|
this.label1 = new System.Windows.Forms.Label();
|
|||
|
this.button2 = new RyzStudio.Windows.ThemedForms.TButton();
|
|||
|
this.tHorizontalSeparator1 = new RyzStudio.Windows.Forms.THorizontalSeparator();
|
|||
|
this.textBox1 = new RyzStudio.Windows.ThemedForms.TTextBox();
|
|||
|
this.button1 = new RyzStudio.Windows.ThemedForms.TButton();
|
|||
|
this.SuspendLayout();
|
|||
|
//
|
|||
|
// label1
|
|||
|
//
|
|||
|
this.label1.AutoSize = true;
|
|||
|
this.label1.BackColor = System.Drawing.Color.Transparent;
|
|||
|
this.label1.ForeColor = System.Drawing.SystemColors.ControlText;
|
|||
|
this.label1.Location = new System.Drawing.Point(10, 21);
|
|||
|
this.label1.Margin = new System.Windows.Forms.Padding(0);
|
|||
|
this.label1.Name = "label1";
|
|||
|
this.label1.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10);
|
|||
|
this.label1.Size = new System.Drawing.Size(30, 34);
|
|||
|
this.label1.TabIndex = 153;
|
|||
|
this.label1.Text = "Find";
|
|||
|
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
|||
|
//
|
|||
|
// button2
|
|||
|
//
|
|||
|
this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
|||
|
this.button2.BackColor = System.Drawing.Color.Transparent;
|
|||
|
this.button2.DefaultImage = null;
|
|||
|
this.button2.DownImage = null;
|
|||
|
this.button2.IsSelected = false;
|
|||
|
this.button2.LabelText = "&Next";
|
|||
|
this.button2.Location = new System.Drawing.Point(321, 99);
|
|||
|
this.button2.Margin = new System.Windows.Forms.Padding(10);
|
|||
|
this.button2.Name = "button2";
|
|||
|
this.button2.OverImage = null;
|
|||
|
this.button2.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
|
|||
|
this.button2.Size = new System.Drawing.Size(128, 32);
|
|||
|
this.button2.TabIndex = 173;
|
|||
|
this.button2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button2_MouseClick);
|
|||
|
//
|
|||
|
// tHorizontalSeparator1
|
|||
|
//
|
|||
|
this.tHorizontalSeparator1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
|||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
|||
|
this.tHorizontalSeparator1.AutoScrollMargin = new System.Drawing.Size(0, 0);
|
|||
|
this.tHorizontalSeparator1.AutoScrollMinSize = new System.Drawing.Size(0, 0);
|
|||
|
this.tHorizontalSeparator1.BackColor = System.Drawing.Color.Transparent;
|
|||
|
this.tHorizontalSeparator1.Location = new System.Drawing.Point(10, 67);
|
|||
|
this.tHorizontalSeparator1.Margin = new System.Windows.Forms.Padding(10, 0, 10, 0);
|
|||
|
this.tHorizontalSeparator1.MaximumSize = new System.Drawing.Size(4920, 2);
|
|||
|
this.tHorizontalSeparator1.MinimumSize = new System.Drawing.Size(0, 22);
|
|||
|
this.tHorizontalSeparator1.Name = "tHorizontalSeparator1";
|
|||
|
this.tHorizontalSeparator1.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10);
|
|||
|
this.tHorizontalSeparator1.Size = new System.Drawing.Size(444, 22);
|
|||
|
this.tHorizontalSeparator1.TabIndex = 188;
|
|||
|
//
|
|||
|
// textBox1
|
|||
|
//
|
|||
|
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
|||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
|||
|
this.textBox1.BackColor = System.Drawing.Color.Transparent;
|
|||
|
this.textBox1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
|
|||
|
this.textBox1.Location = new System.Drawing.Point(121, 20);
|
|||
|
this.textBox1.Margin = new System.Windows.Forms.Padding(10, 6, 10, 6);
|
|||
|
this.textBox1.Name = "textBox1";
|
|||
|
this.textBox1.Padding = new System.Windows.Forms.Padding(10, 10, 9, 9);
|
|||
|
this.textBox1.Size = new System.Drawing.Size(328, 35);
|
|||
|
this.textBox1.SubmitButton = null;
|
|||
|
this.textBox1.TabIndex = 191;
|
|||
|
this.textBox1.UseSystemPasswordChar = true;
|
|||
|
//
|
|||
|
// button1
|
|||
|
//
|
|||
|
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
|||
|
this.button1.BackColor = System.Drawing.Color.Transparent;
|
|||
|
this.button1.DefaultImage = null;
|
|||
|
this.button1.DownImage = null;
|
|||
|
this.button1.IsSelected = false;
|
|||
|
this.button1.LabelText = "&First";
|
|||
|
this.button1.Location = new System.Drawing.Point(185, 99);
|
|||
|
this.button1.Margin = new System.Windows.Forms.Padding(10);
|
|||
|
this.button1.Name = "button1";
|
|||
|
this.button1.OverImage = null;
|
|||
|
this.button1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
|
|||
|
this.button1.Size = new System.Drawing.Size(128, 32);
|
|||
|
this.button1.TabIndex = 192;
|
|||
|
this.button1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick);
|
|||
|
//
|
|||
|
// FindForm
|
|||
|
//
|
|||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
|||
|
this.ClientSize = new System.Drawing.Size(464, 151);
|
|||
|
this.Controls.Add(this.button1);
|
|||
|
this.Controls.Add(this.textBox1);
|
|||
|
this.Controls.Add(this.tHorizontalSeparator1);
|
|||
|
this.Controls.Add(this.button2);
|
|||
|
this.Controls.Add(this.label1);
|
|||
|
this.MinimumSize = new System.Drawing.Size(480, 190);
|
|||
|
this.Name = "FindForm";
|
|||
|
this.Text = "Find";
|
|||
|
this.ResumeLayout(false);
|
|||
|
this.PerformLayout();
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
protected override void OnShown(EventArgs e)
|
|||
|
{
|
|||
|
base.OnShown(e);
|
|||
|
|
|||
|
this.DialogResult = System.Windows.Forms.DialogResult.None;
|
|||
|
|
|||
|
textBox1.InnerTextBox.Focus();
|
|||
|
}
|
|||
|
|
|||
|
protected override void OnClosing(CancelEventArgs e)
|
|||
|
{
|
|||
|
base.OnClosing(e);
|
|||
|
|
|||
|
e.Cancel = true;
|
|||
|
|
|||
|
this.Hide();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
|
|||
|
public new MainForm ParentForm { get; protected set; } = null;
|
|||
|
|
|||
|
[Browsable(false)]
|
|||
|
public string Password => textBox1.Text;
|
|||
|
|
|||
|
|
|||
|
private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
|
|||
|
{
|
|||
|
switch (e.KeyCode)
|
|||
|
{
|
|||
|
case Keys.Enter:
|
|||
|
if (findNextNew)
|
|||
|
{
|
|||
|
button1_MouseClick(sender, new MouseEventArgs(MouseButtons.Left, 1, 0, 0, 0));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
button2_MouseClick(sender, new MouseEventArgs(MouseButtons.Left, 1, 0, 0, 0));
|
|||
|
}
|
|||
|
|
|||
|
break;
|
|||
|
case Keys.Escape:
|
|||
|
this.Close();
|
|||
|
break;
|
|||
|
default: break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void button1_MouseClick(object sender, MouseEventArgs e)
|
|||
|
{
|
|||
|
if (e.Button == MouseButtons.Left)
|
|||
|
{
|
|||
|
if (string.IsNullOrWhiteSpace(textBox1.Text)) return;
|
|||
|
if (treeView1.Nodes.Count <= 0) return;
|
|||
|
|
|||
|
findNextNew = false;
|
|||
|
treeView1.FindTextNode(treeView1.Nodes[0], textBox1.Text?.Trim());
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void button2_MouseClick(object sender, MouseEventArgs e)
|
|||
|
{
|
|||
|
if (e.Button == MouseButtons.Left)
|
|||
|
{
|
|||
|
if (string.IsNullOrWhiteSpace(textBox1.Text)) return;
|
|||
|
if (treeView1.Nodes.Count <= 0) return;
|
|||
|
|
|||
|
if (treeView1.SelectedNode == null) treeView1.SelectedNode = treeView1.Nodes[0];
|
|||
|
|
|||
|
findNextNew = false;
|
|||
|
|
|||
|
bool rv = treeView1.FindTextNode(treeView1.SelectedNode, textBox1.Text?.Trim());
|
|||
|
if (!rv)
|
|||
|
{
|
|||
|
findNextNew = true;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|