Supress "Unhandled exception" and instead display an information message

Hi

 

I am absolutely a beginner and tried myself on something by renaming some files that displays a message when the file name change was performed. 

So far, so good. However, when I click the same button a second time I receive and unhandled exception. However, I want the error to be suppressed and instead displaying a message e.g. "Already disabled". Can someone maybe help me to accomplish this (probably simply) task?

 

The code I have so far:

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
 
private void button1_Click(object sender, EventArgs e)


{
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.de.resources", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.de.resources_DISABLED");
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.es.resources", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.es.resources_DISABLED");
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.fr.resources", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.fr.resources_DISABLED");
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.ja.resources", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.ja.resources_DISABLED");
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.resources", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.resources_DISABLED");
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.xml", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.xml_DISABLED");
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.zh-CN.resources", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.zh-CN.resources_DISABLED");
MessageBox.Show("SDL MultiTerm Administrator Plugin is now disabled");

}
 
private void button2_Click(object sender, EventArgs e)
{
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.de.resources_DISABLED", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.de.resources");
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.es.resources_DISABLED", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.es.resources");
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.fr.resources_DISABLED", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.fr.resources");
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.ja.resources_DISABLED", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.ja.resources");
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.resources_DISABLED", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.resources");
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.xml_DISABLED", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.xml");
System.IO.File.Move("C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.zh-CN.resources_DISABLED", "C:\\Program Files (x86)\\SDL\\SDL MultiTerm\\MultiTerm14\\Plugins\\Sdl.MultiTerm.Studio.Administrator.plugin.zh-CN.resources");
MessageBox.Show("SDL MultiTerm Administrator Plugin is now enabled");
}

private void textBox1_TextChanged(object sender, EventArgs e)
{
}

}
}
  • Hi Richard,

    You could use a flag for that and  if-else statements.

    Here is the general idea:

    public partial class Form1 : Form
    {
        private bool isDisabled = false;   

        // Rest of your code here

        private void button1_Click(object sender, EventArgs e)
        {
            if (!isDisabled)
            {
                // Add the System.IO.FileMove calls here
                MessageBox.Show("SDL MultiTerm Administrator Plugin is now disabled");
                isDisabled = true; // Set this to true here!
            }
            else
            {
                MessageBox.Show("Sorry. Already disabled the Plugin.");
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (isDisabled)
            {
                // Add the System.IO.FileMove calls here
                MessageBox.Show("SDL MultiTerm Administrator Plugin is now enabled");
                isDisabled = false; // Set this to false here!
            }
            else
            {
                MessageBox.Show("Sorry. Already enabled the Plugin.");
            }
        }
    }

    Also, instead of using a flag and displaying messages, you could just gray out the buttons after you press it to disallow the user from pressing it again.
    For example, to disable "button1", use the following code:

    button1.Enabled = false;