ResX files. Read about localization in the .NET Framework and see the ResourceManager class documentation for details and examples. Basically, you use ResX files to store localized strings for your application. For properly named ResX files (like ClassName.de.resx for culture-neutral German language), a satellite assembly is created that the CLR loads when the Thread.CurrentUICulture is set to something other than the neutral resources language (the language of the resource in your source code, see also the NeutralResourcesLanguageAttribute for more information and use this to increase assembly resolution performance).
You'll have to put all the values for Cut, Copy, Paste, and anything else in the ResX files. I recommend using a Singleton pattern for the ResourceManager like Microsoft does so that you can 1) eliminate wasted memory resources by having a single instance of a ResourceManager, and 2) easily share localized resources amongst many classes. If you use a disassembler or decompiler to look at Microsoft's BCL assemblies, you'll notice this in their SR classes (usually one per assembly).
This won't get them from Windows, but there really isn't a way to do that. Windows MUI usually stores localized resources per application or library. This way with .NET is pretty much the same thing (specially named libraries or similarly named libraries in specially name directories is common).
Alex Ngai wrote: 2.) Also, I wonder if it is possible to include a link to my e-mail in
the Message Box?
No. You'll have to create your own dialog class that looks like the dialog that MessageBox.Show displays. Otherwise, just put your email address in a LinkLabel in a Form to be used as your About box from the Help menu.
Since you're a newbie and asking pretty basic questions, you should also read the .NET Framework SDK, especially reviewing the class library to see what's available. Many of the properties on the Form class are easily set (as Colin showed you). Being familar with the class library (not necessarily memorizing it) and truly understanding the .NET Framework (like that all compilers for all languages targeting the CLR produce IL so the source language really doesn't matter, which is a common misunderstanding) is important.
Put a Button in your application. Create a ContextMenu and when the user clicks your button call ContextMenu.Show passing the Button reference and the position (like the Button.Location property value) to the method. See the ContextMenu.Show method in the .NET Framework SDK documentation for more information and even an example.
But again - like we told you the first time - this is way-overdone and will most likely only confuse users. Read the Windows UI guidelines I linked you.
Try debugging your code. Put a break-point at the beginning of that case and step through your code, checking the state of variables as you step over each line. And keep in mind that using the == operator for strings results in a case-sensitive comparison. See String.Compare for a better, culture-aware comparison with many more capabilities.