'宣言 Protected Overridable Sub OnBeforeCopy( _ ByVal e As BeforeCopyEventArgs _ )
protected virtual void OnBeforeCopy( BeforeCopyEventArgs e )
Imports Infragistics.Win Imports Infragistics.Win.UltraWinTree Private Sub ultraTree1_BeforeCopy(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinTree.BeforeCopyEventArgs) Handles ultraTree1.BeforeCopy Dim sb As New System.Text.StringBuilder() Dim node As UltraTreeNode Dim dr As DialogResult ' Setting the Tag of the Nodes collection passed into the BeforeCut ' and BeforeCopy events to some serializable value can be used to ' identify the tree that copied the nodes to the clipboard. This Tag ' value will be de-serialized and set on the Nodes collection that is ' passed into the BeforePaste event. This can be used for preventing ' paste operations between trees. ' Set the Tag property on the Nodes collection to the tree's hash code. ' Note: don't set the tag to the tree itself since that isn't serializable e.Nodes.Tag = Me.ultraTree1.GetHashCode() sb.Append("The following nodes are about to be copied to the clipboard: ") ' Loop over the nodes that will be copied to the clipboard. ' Note: The Nodes collection exposed by the event args ' is read-only. For Each node In e.Nodes sb.Append(node.Text) sb.Append(", ") Next sb.Append(" Press ''OK'' or ''Cancel''.") dr = MessageBox.Show(Me, sb.ToString(), "Copying nodes to the clipboard", MessageBoxButtons.OKCancel) If dr = DialogResult.Cancel Then e.Cancel = True End If End Sub
using System.Diagnostics; using Infragistics.Win; using Infragistics.Win.UltraWinTree; private void ultraTree1_BeforeCopy(object sender, Infragistics.Win.UltraWinTree.BeforeCopyEventArgs e) { // Setting the Tag of the Nodes collection passed into the BeforeCut // and BeforeCopy events to some serializable value can be used to // identify the tree that copied the nodes to the clipboard. This Tag // value will be de-serialized and set on the Nodes collection that is // passed into the BeforePaste event. This can be used for preventing // paste operations between trees. // Set the Tag property on the Nodes collection to the tree's hash code. // Note: don't set the tag to the tree itself since that isn't serializable e.Nodes.Tag = this.ultraTree1.GetHashCode(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("The following nodes are about to be copied to the clipboard: "); // Loop over the nodes that will be copied to the clipboard. // Note: The Nodes collection exposed by the event args // is read-only. foreach ( UltraTreeNode node in e.Nodes ) { sb.Append( node.Text ); sb.Append( ", " ); } sb.Append(" Press ''OK'' or ''Cancel''."); DialogResult dr = MessageBox.Show( this, sb.ToString(), "Copying nodes to the clipboard", MessageBoxButtons.OKCancel ); if ( dr == DialogResult.Cancel ) e.Cancel = true; }