using System.Reflection; using Inspectron.Settings.WindowsWizard.Interfaces; namespace Inspectron.Settings.WindowsWizard.Controls { public partial class StringEditor : UserControl, ISetupItem { private PropertyInfo _prp; private object _obj; private bool _password; public StringEditor() { InitializeComponent(); } public bool Password { get { return _password; } set { if (value) textBox1.PasswordChar = '*'; _password = value; } } public void SetProperty(object obj, string propertyName) { _prp = PropHelper.GetPrp(obj, propertyName); _obj = obj; textBox1.Text = (string) _prp.GetValue(obj); label1.Text = PropHelper.SplitCamelCase(propertyName); } private void textBox1_TextChanged(object sender, EventArgs e) { if (_obj == null) return; _prp.SetValue(_obj, textBox1.Text); } } }