check point
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
using System.Reflection;
|
||||
using Inspectron.Settings.WindowsWizard.Interfaces;
|
||||
using Microsoft.WindowsAPICodePack.Dialogs;
|
||||
|
||||
namespace Inspectron.Settings.WindowsWizard.Controls
|
||||
{
|
||||
public partial class PathEditor : UserControl,ISetupItem
|
||||
{
|
||||
|
||||
private PropertyInfo _prp;
|
||||
private object _obj;
|
||||
public PathEditor()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public bool FolderPick { get; set; }
|
||||
|
||||
public string SelectedFolderPath
|
||||
{
|
||||
get => textBox1.Text;
|
||||
set
|
||||
{
|
||||
if (_obj == null) return;
|
||||
textBox1.Text = value;
|
||||
_prp.SetValue(_obj,value);
|
||||
}
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
var dialog = new CommonOpenFileDialog();
|
||||
dialog.IsFolderPicker = FolderPick;
|
||||
dialog.InitialDirectory = SelectedFolderPath;
|
||||
if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
|
||||
{
|
||||
SelectedFolderPath = dialog.FileName;
|
||||
FileChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public event Action FileChanged = delegate { };
|
||||
public void SetProperty(object obj, string propertyName)
|
||||
{
|
||||
label1.Text = PropHelper.SplitCamelCase(propertyName);
|
||||
_prp = PropHelper.GetPrp(obj, propertyName);
|
||||
_obj = obj;
|
||||
SelectedFolderPath =(string)_prp.GetValue(obj);
|
||||
if(SelectedFolderPath!=null) FileChanged();
|
||||
}
|
||||
|
||||
public void HidePath()
|
||||
{
|
||||
textBox1.Visible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user