WinForm Cut Copy and Paste Example
Code:
Private Sub ccpSelCheck()
'Enables and Disables Menu and ToolBar (Cut,Copy & Paste controls) based on Clipboard and Selected Text
mnuEditCut.Enabled = False
mnuEditCopy.Enabled = False
mnuEditPaste.Enabled = Not (My.Computer.Clipboard.GetText = "")
tbToolBar.Items.Item("_Cut").Enabled = False
tbToolBar.Items.Item("_Copy").Enabled = False
tbToolBar.Items.Item("_Paste").Enabled = Not (My.Computer.Clipboard.GetText = "")
'Cast ActiveControl as generic text control
If CType(Me.ActiveControl, TextBoxBase).SelectedText <> "" Then
mnuEditCut.Enabled = True
mnuEditCopy.Enabled = True
tbToolBar.Items.Item("_Cut").Enabled = True
tbToolBar.Items.Item("_Copy").Enabled = True
End If
End Sub
Private Sub frmMain_KeyUp(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
'NOTE: KeyPreview for the Form must be set to True
ccpSelCheck()
End Sub
Private Sub TextOrCombo_MouseUp(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.MouseEventArgs) Handles tbFiled1.MouseUp, tbField2.MouseUp, cbOprion1.MouseUp
'MouseUp event may have selected text
ccpSelCheck()
End Sub
Private Sub TextOrCombo_KeyPress(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyPressEventArgs) Handles tbFiled1.Enter, tbField2.Enter, cbOprion1.Enter
'KeyPress event may have selected text
ccpSelCheck()
End Sub
'For Toolbar Events Use the PerformClick Method to trigger menu Cut, Copy, and Paste click events
'NOTE: These Controls are only enabled when there is something to act upon, (clipboard, or selected text)
Public Sub mnuEditPaste_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuEditPaste.Click
Dim txc As TextBoxBase = CType(Me.ActiveControl, TextBoxBase)
txc.SelectedText = My.Computer.Clipboard.GetText()
mnuEditPaste.Enabled = Not (My.Computer.Clipboard.GetText = "")
End Sub
Public Sub mnuEditCopy_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuEditCopy.Click
Dim txc As TextBoxBase = CType(Me.ActiveControl, TextBoxBase)
My.Computer.Clipboard.SetText(txc.SelectedText)
mnuEditPaste.Enabled = Not (My.Computer.Clipboard.GetText = "")
End Sub
Public Sub mnuEditCut_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuEditCut.Click
Dim txc As TextBoxBase = CType(Me.ActiveControl, TextBoxBase)
My.Computer.Clipboard.SetText(txc.SelectedText)
mnuEditPaste.Enabled = Not (My.Computer.Clipboard.GetText = "")
'Cut selected text.
txc.SelectedText = ""
End Sub