81 lines
1.9 KiB
C#
81 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Data;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
namespace BlogRunnerGui
|
|
{
|
|
public enum DialogStyle { Open, Save }
|
|
|
|
[DefaultEvent("PathChanged")]
|
|
public partial class FileInput : UserControl
|
|
{
|
|
public FileInput()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public event EventHandler PathChanged;
|
|
|
|
[
|
|
EditorBrowsable(EditorBrowsableState.Always),
|
|
Browsable(true),
|
|
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible),
|
|
Bindable(true)
|
|
]
|
|
public override string Text
|
|
{
|
|
get { return label1.Text; }
|
|
set { label1.Text = value; }
|
|
}
|
|
|
|
public string Path
|
|
{
|
|
get { return textBox1.Text; }
|
|
set { textBox1.Text = value; }
|
|
}
|
|
|
|
public DialogStyle DialogStyle
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
protected override void OnGotFocus(EventArgs e)
|
|
{
|
|
textBox1.Focus();
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
FileDialog fd;
|
|
if (DialogStyle == DialogStyle.Open)
|
|
fd = openFileDialog1;
|
|
else
|
|
fd = saveFileDialog1;
|
|
|
|
if (fd.ShowDialog(this) == DialogResult.OK)
|
|
{
|
|
textBox1.Text = fd.FileName;
|
|
}
|
|
}
|
|
|
|
private void textBox1_TextChanged(object sender, EventArgs e)
|
|
{
|
|
string path = textBox1.Text.Trim('"');
|
|
if (path != textBox1.Text)
|
|
{
|
|
textBox1.Text = path;
|
|
textBox1.SelectionStart = textBox1.TextLength;
|
|
return;
|
|
}
|
|
|
|
if (PathChanged != null)
|
|
PathChanged(this, EventArgs.Empty);
|
|
}
|
|
}
|
|
}
|