示例#1
0
 public void Delete(bool prompt, FrmMain dialogParent)
 {
     if (!(prompt && ((dialogParent == null) || (new DlgYesNo(dialogParent, "<LOC>Confirm Delete", "<LOC>Are you sure you want to delete this emote?").ShowDialog() != DialogResult.Yes))))
     {
         FileStream serializationStream = null;
         try
         {
             string fileName = this.FileName;
             if (File.Exists(fileName))
             {
                 serializationStream = File.OpenRead(fileName);
                 List<Emote> graph = new BinaryFormatter().Deserialize(serializationStream) as List<Emote>;
                 serializationStream.Close();
                 if (graph != null)
                 {
                     graph.Remove(this);
                     serializationStream = File.OpenWrite(fileName);
                     new BinaryFormatter().Serialize(serializationStream, graph);
                     serializationStream.Close();
                     serializationStream = null;
                 }
             }
             AllEmotes.Remove(this.CharSequence);
             OnEmotesChanged();
         }
         finally
         {
             if (serializationStream != null)
             {
                 serializationStream.Close();
             }
         }
     }
 }