private void treLifestyles_DoubleClick(object sender, EventArgs e) { try { if (treLifestyles.SelectedNode.Level == 0) return; } catch { return; } // Locate the selected Lifestyle. Lifestyle objLifestyle = new Lifestyle(_objCharacter); string strGuid = ""; int intMonths = 0; int intPosition = -1; foreach (Lifestyle objCharacterLifestyle in _objCharacter.Lifestyles) { intPosition++; if (objCharacterLifestyle.InternalId == treLifestyles.SelectedNode.Tag.ToString()) { objLifestyle = objCharacterLifestyle; strGuid = objLifestyle.InternalId; intMonths = objLifestyle.Months; break; } } Lifestyle objNewLifestyle = new Lifestyle(_objCharacter); if (objLifestyle.StyleType.ToString() != "Standard") { // Edit Advanced Lifestyle. frmSelectLifestyleAdvanced frmPickLifestyle = new frmSelectLifestyleAdvanced(objNewLifestyle, _objCharacter); frmPickLifestyle.SetLifestyle(objLifestyle); frmPickLifestyle.ShowDialog(this); if (frmPickLifestyle.DialogResult == DialogResult.Cancel) return; // Update the selected Lifestyle and refresh the list. objLifestyle = frmPickLifestyle.SelectedLifestyle; objLifestyle.SetInternalId(strGuid); objLifestyle.Months = intMonths; _objCharacter.Lifestyles[intPosition] = objLifestyle; treLifestyles.SelectedNode.Text = objLifestyle.DisplayNameShort; RefreshSelectedLifestyle(); UpdateCharacterInfo(); } else { // Edit Basic Lifestyle. frmSelectLifestyle frmPickLifestyle = new frmSelectLifestyle(objNewLifestyle, _objCharacter); frmPickLifestyle.SetLifestyle(objLifestyle); frmPickLifestyle.ShowDialog(this); if (frmPickLifestyle.DialogResult == DialogResult.Cancel) return; // Update the selected Lifestyle and refresh the list. objLifestyle = frmPickLifestyle.SelectedLifestyle; objLifestyle.SetInternalId(strGuid); objLifestyle.Months = intMonths; _objCharacter.Lifestyles[intPosition] = objLifestyle; treLifestyles.SelectedNode.Text = objLifestyle.DisplayName; RefreshSelectedLifestyle(); UpdateCharacterInfo(); } }