private void ContextMenuStripOnOpening(object sender, CancelEventArgs e) { TextBoxContextMenuStrip textBoxContextMenuStrip = sender as TextBoxContextMenuStrip; textBox = (TextBox)textBoxContextMenuStrip.SourceControl; if (textBoxContextMenuStrip != null) { textBoxContextMenuStrip.Redo.Enabled = (_RevokeText != ""); textBoxContextMenuStrip.Undo.Enabled = textBox.CanUndo; textBoxContextMenuStrip.Cut.Enabled = !string.IsNullOrEmpty(textBox.SelectedText); textBoxContextMenuStrip.Copy.Enabled = !string.IsNullOrEmpty(textBox.SelectedText); textBoxContextMenuStrip.Paste.Enabled = Clipboard.ContainsText(); textBoxContextMenuStrip.Delete.Enabled = !string.IsNullOrEmpty(textBox.SelectedText); textBoxContextMenuStrip.SelectAll.Enabled = !string.IsNullOrEmpty(textBox.Text); } }
private void TextBoxContextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { TextBoxContextMenuStrip textBoxContextMenuStrip = this; //TextBox textBox = (TextBox)textBoxContextMenuStrip.SourceControl; string text = e.ClickedItem.Text; switch (text) { default: if (text == "全选") { textBox.SelectAll(); } break; case "撤销": _RevokeText = textBox.Text; textBox.Undo(); break; case "重做": textBox.Text = _RevokeText; textBox.SelectionStart = _RevokeText.Length; _RevokeText = ""; break; case "剪切": textBox.Cut(); break; case "复制": textBox.Copy(); break; case "粘贴": textBox.Paste(); break; case "删除": textBox.SelectedText = string.Empty; break; } }