void btnAdd_Click(object sender, EventArgs e)
        {
            TimerModChange newChange = new TimerModChange(tbPlayer.Text, tbSkillMod.Text,
                                                          Convert.ToSingle(nudModAmount.Value / 100), Convert.ToInt32(nudModDuration.Value));

            modChanges.Add(newChange);
            lbChanges.Items.Add(newChange.ToString());
        }
 void lbChanges_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (lbChanges.SelectedIndex != -1)
     {
         TimerModChange selected = modChanges[lbChanges.SelectedIndex];
         tbPlayer.Text        = selected.playerName;
         tbSkillMod.Text      = selected.skillName;
         nudModAmount.Value   = (decimal)(selected.modAmount * 100F);
         nudModDuration.Value = (decimal)selected.modDuration.TotalSeconds;
     }
 }
        private void LoadXmlSettings()
        {
            FileInfo file = new FileInfo(xmlFileName);

            if (file.Exists == false)
            {
                return;
            }

            XmlTextReader xml = new XmlTextReader(xmlFileName);

            try
            {
                while (xml.Read())
                {
                    if (xml.NodeType == XmlNodeType.Element)
                    {
                        try
                        {
                            if (xml.LocalName == "ModChange")
                            {
                                string player, skill;
                                float  amount;
                                int    duration;
                                player   = xml.GetAttribute("Player");
                                skill    = xml.GetAttribute("Skill");
                                amount   = Convert.ToSingle(xml.GetAttribute("Amount"));
                                duration = Convert.ToInt32(xml.GetAttribute("Duration"));
                                TimerModChange newChange = new TimerModChange(player, skill, amount, duration);
                                modChanges.Add(newChange);
                                lbChanges.Items.Add(newChange.ToString());
                            }
                        }
                        catch (System.Exception ex)
                        {
                            string error = String.Format("Error while parsing XML settings: Line #{0} ({1})\n{2}",
                                                         xml.LineNumber, xml.LocalName, ex.Message);
                            MessageBox.Show(error + "\n\n Attempting default setting", "XML Preferences Error",
                                            MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            ActGlobals.oFormActMain.WriteExceptionLog(ex, error);
                            continue;
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                string error = "The XML settings file may be corrupt or unusable.  Loading defaults where applicable.";
                MessageBox.Show(error, "XML Preferences Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                ActGlobals.oFormActMain.WriteExceptionLog(ex, error);
            }
            xml.Close();
        }