With the Designer you can select any of the standard cursors (members of Cursors class) as the default cursor of the Form/Control you are designing.
If none of the standard cursors are to your liking, you can assign a custom Cursor to the Form/Control's Cursor property; this takes your explicit code, e.g. in the Form constructor or the Load handler.
Custom Cursors can be created in many ways; I tend to store them as a resource within the EXE file and load them from there, using code like this (warning: C#):
public static Cursor GetEmbeddedCursor(string filename) {
string resourceName = "?";
try {
resourceName = "myNameSpace.Resources." + filename;
Assembly assembly = Assembly.GetEntryAssembly();
using (Stream myStream = assembly.GetManifestResourceStream(resourceName)) {
return new Cursor(myStream);
}
} catch (Exception exc) {
log("Exception in GetEmbeddedCursor: " + filename + ", " + resourceName);
log(exc);
return null;
}
}