Author: everaldo
Date: 2007-08-27 03:51:01 -0400 (Mon, 27 Aug 2007)
New Revision: 84865

Modified:
   trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
   trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MessageBox.cs
Log:
2007-08-22  Everaldo Canuto  <[EMAIL PROTECTED]>

        * MessageBox.cs: Add clipboard copy (ctrl+c) to messagebox. Thanks Andy 
Hume
        for the patch. Fixes #82568.



Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog        
2007-08-27 04:42:29 UTC (rev 84864)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog        
2007-08-27 07:51:01 UTC (rev 84865)
@@ -1,3 +1,8 @@
+2007-08-22  Everaldo Canuto  <[EMAIL PROTECTED]>
+
+       * MessageBox.cs: Add clipboard copy (ctrl+c) to messagebox. Thanks Andy 
Hume
+       for the patch. Fixes #82568.
+
 2007-08-26  Carlos Alberto Cortez <[EMAIL PROTECTED]>
 
        * ListView.cs: Add a pair of missing 2.0 ListViewItemCollection.Insert

Modified: 
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MessageBox.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MessageBox.cs    
2007-08-27 04:42:29 UTC (rev 84864)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MessageBox.cs    
2007-08-27 07:51:01 UTC (rev 84865)
@@ -297,9 +297,40 @@
                                        return true;
                                }
 
+                               if (((keyData & Keys.Modifiers) == 
Keys.Control) &&
+                                       (((keyData & Keys.KeyCode) == Keys.C) ||
+                                        ((keyData & Keys.KeyCode) == 
Keys.Insert))) {  
+                                       Copy();
+                               }
+
                                return base.ProcessDialogKey (keyData);
                        }
 
+                       private void Copy ()
+                       {
+                               string separator = 
"---------------------------" + Environment.NewLine;
+
+                               System.Text.StringBuilder contents = new 
System.Text.StringBuilder ();
+
+                               contents.Append (separator);
+                               contents.Append (this.Text).Append 
(Environment.NewLine);
+                               contents.Append (separator);
+                               contents.Append (msgbox_text).Append 
(Environment.NewLine);
+                               contents.Append (separator);
+
+                               foreach (Button btn in buttons) {
+                                       if (btn == null)
+                                               break;
+                                       contents.Append (btn.Text).Append ("   
");;
+                               }
+
+                               contents.Append (Environment.NewLine);
+                               contents.Append (separator);
+
+                               DataObject obj = new 
DataObject(DataFormats.Text, contents.ToString());
+                               Clipboard.SetDataObject (obj);
+                       }
+
                        #endregion      // MessageBoxForm Methods
 
                        #region Functions for Adding buttons

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to