コード例 #1
0
        private void tree_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
        {
            SettingsNode setting = e.Node.Tag as SettingsNode;

            if (setting == null || !setting.IsAValue)
            {
                return;
            }

            try
            {
                object value = SettingsConverter.ConvertValue(e.Label, setting.Type);
            }
            catch (Exception ex)
            {
                Logging.Log.Error("Settings", "{0} cannot be applied to '{1}'. {2}", e.Label, setting.Parent.FullPath, ex.Message);
                toolTipError.Show(String.Format("Restored original value.", e.Label), treeView, e.Node.Bounds.Right + 10, e.Node.Bounds.Top - 5, 2000);
                e.CancelEdit = true;
                return;
            }

            IsDirty = (setting.Name != e.Label) || TreeNodesDirty(treeView.Nodes, e.Node);
        }