title: Override MessageBox.Show
body: <p>I am seeking to override the <code>System.Windows.Forms.MessageBox.Show()</code> method to save modifying a monolithic codebase to use a new messagebox function. </p>
  
  <p>I am using the Citrix Mobility SDK to instrument a legacy C# Windows application to facilitate more intuitive functionality on a mobile device such as iPad or Nexus tablet. </p>
  
  <p>I wish to display a local messagebox on the device, and to do so, I need to replace all calls to <code>MessageBox.Show</code> in the application with a <code>CustomMessageBox.Show</code> function. The codebase is enormous, and I would rather not modify every file to use <code>CustomMessageBox.Show</code> as it would be a large and dangerous job, as well as resulting in tight coupling between the SDK and the application.</p>
  
  <p>Thus, is there a way to override <code>MessageBox.Show</code> so that I can reimplement the function for use with this third party SDK, as it would be the most elegant option?</p>