Una interessante 'feature' del controllo DataGridView riguarda la possibilità di interagire in maniera molto semplice con la Clipboard di sistema. Ad esempio, una volta selezionate alcune row di una DataGridView (che scatena dietro le quinte la generazione di una DataGridViewSelectedRowCollection), risulta molto semplice copiarle nella clipboard programmaticamente:
// Includiamo l'intestazione per le righe selezionate
DataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText;
Clipboard.SetDataObject(DataGridView1.GetClipboardContent(), true);
Tramite il metodo GetClipboardContent()della DataGridView recuperiamo il contenuto delle celle selezionate, con tanto di formattazione ed intestazione (DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText). Tale contenuto è dunque già predisposto per l'inserimento nella Clipboard, che avviene mediante il solito metodo Clipboard.SetDataObject(...) che imposta (o prova ad impostare) il contenuto selezionato.
Technorati tags: Windows Forms