Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / RichTextBoxContextMenu.cs / 1 / RichTextBoxContextMenu.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="System.Windows.Forms.Design.RichTextBoxContextMenu..ctor()")] namespace System.Windows.Forms.Design { using Microsoft.Win32; using System; using System.Design; using System.ComponentModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Drawing; using System.Windows.Forms; ////// Context menu for the RichTextBox control /// We only allow copy/cut/paste of texts /// internal class RichTextBoxContextMenu : ContextMenu { private MenuItem undoMenu; private MenuItem cutMenu; private MenuItem copyMenu; private MenuItem pasteMenu; private MenuItem deleteMenu; private MenuItem selectAllMenu; private RichTextBox parent; //the RichTextBox which hosts this context menu [SuppressMessage("Microsoft.Globalization", "CA1303:DoNotPassLiteralsAsLocalizedParameters")] public RichTextBoxContextMenu(RichTextBox parent) : base() { undoMenu = new MenuItem(SR.GetString(SR.StandardMenuUndo), new EventHandler(undoMenu_Clicked)); cutMenu = new MenuItem(SR.GetString(SR.StandardMenuCut), new EventHandler(cutMenu_Clicked)); copyMenu = new MenuItem(SR.GetString(SR.StandardMenuCopy), new EventHandler(copyMenu_Clicked)); pasteMenu = new MenuItem(SR.GetString(SR.StandardMenuPaste), new EventHandler(pasteMenu_Clicked)); deleteMenu = new MenuItem(SR.GetString(SR.StandardMenuDelete), new EventHandler(deleteMenu_Clicked)); selectAllMenu = new MenuItem(SR.GetString(SR.StandardMenuSelectAll), new EventHandler(selectAllMenu_Clicked)); MenuItem splitter1 = new MenuItem("-"); MenuItem splitter2 = new MenuItem("-"); this.MenuItems.Add(undoMenu); this.MenuItems.Add(splitter1); this.MenuItems.Add(cutMenu); this.MenuItems.Add(copyMenu); this.MenuItems.Add(pasteMenu); this.MenuItems.Add(deleteMenu); this.MenuItems.Add(splitter2); this.MenuItems.Add(selectAllMenu); this.parent = parent; } ////// Set the appropriate visibility of the menu items /// protected override void OnPopup(EventArgs e) { if (parent.SelectionLength > 0) { cutMenu.Enabled = true; copyMenu.Enabled = true; deleteMenu.Enabled = true; } else { cutMenu.Enabled = false; copyMenu.Enabled = false; deleteMenu.Enabled = false; } if (Clipboard.GetText() != null) { pasteMenu.Enabled = true; } else { pasteMenu.Enabled = false; } if (parent.CanUndo) { undoMenu.Enabled = true; } else { undoMenu.Enabled = false; } } private void cutMenu_Clicked(object sender, EventArgs e) { Clipboard.SetText(parent.SelectedText); parent.SelectedText = ""; } private void copyMenu_Clicked(object sender, EventArgs e) { Clipboard.SetText(parent.SelectedText); } private void deleteMenu_Clicked(object sender, EventArgs e) { parent.SelectedText = ""; } private void pasteMenu_Clicked(object sender, EventArgs e) { parent.SelectedText = Clipboard.GetText(); } private void selectAllMenu_Clicked(object sender, EventArgs e) { parent.SelectAll(); } private void undoMenu_Clicked(object sender, EventArgs e) { parent.Undo(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeTypeParameter.cs
- ScrollPatternIdentifiers.cs
- WorkflowApplicationException.cs
- PagedDataSource.cs
- MsmqIntegrationProcessProtocolHandler.cs
- FileNotFoundException.cs
- RtfToken.cs
- TerminateDesigner.cs
- CryptoStream.cs
- StrokeNodeOperations2.cs
- MatrixStack.cs
- connectionpool.cs
- FilterableAttribute.cs
- Config.cs
- PublisherMembershipCondition.cs
- ScrollProperties.cs
- DataControlFieldCollection.cs
- RawStylusSystemGestureInputReport.cs
- TabPage.cs
- SystemShuttingDownException.cs
- HandlerBase.cs
- SessionEndingCancelEventArgs.cs
- CancellationTokenSource.cs
- TreeChangeInfo.cs
- TreeViewItemAutomationPeer.cs
- DragSelectionMessageFilter.cs
- _SingleItemRequestCache.cs
- MsmqIntegrationChannelListener.cs
- HttpListenerPrefixCollection.cs
- ValueTypeIndexerReference.cs
- PatternMatcher.cs
- EntryPointNotFoundException.cs
- HtmlElementEventArgs.cs
- CredentialCache.cs
- FormatSettings.cs
- oledbmetadatacolumnnames.cs
- ScrollBar.cs
- EditingMode.cs
- KeyGestureValueSerializer.cs
- AutoGeneratedField.cs
- CompilerError.cs
- BamlReader.cs
- BamlResourceContent.cs
- RotateTransform.cs
- GridViewDeletedEventArgs.cs
- Stylus.cs
- SafeProcessHandle.cs
- HelpInfo.cs
- XPathExpr.cs
- SqlTopReducer.cs
- BounceEase.cs
- WebPartTransformerCollection.cs
- PermissionToken.cs
- UserControlParser.cs
- DataPagerFieldCollection.cs
- ConstructorExpr.cs
- RIPEMD160Managed.cs
- RawStylusInputCustomData.cs
- PageParserFilter.cs
- PagerSettings.cs
- FileUpload.cs
- EventPrivateKey.cs
- StackSpiller.cs
- FreezableOperations.cs
- Misc.cs
- PageThemeParser.cs
- Section.cs
- SQLInt64.cs
- TextSpanModifier.cs
- BrowserCapabilitiesFactory.cs
- CLSCompliantAttribute.cs
- TextTreeExtractElementUndoUnit.cs
- DataGridViewLinkColumn.cs
- SmtpFailedRecipientsException.cs
- SafeHandle.cs
- XMLDiffLoader.cs
- ConstructorNeedsTagAttribute.cs
- ConsoleTraceListener.cs
- XmlSchemaSimpleTypeList.cs
- DynamicResourceExtensionConverter.cs
- TextEditor.cs
- ListViewPagedDataSource.cs
- XmlBaseReader.cs
- ProfileManager.cs
- ToolboxCategory.cs
- FileUtil.cs
- MemoryMappedFileSecurity.cs
- DataReceivedEventArgs.cs
- VisualBasicSettingsHandler.cs
- HTTPNotFoundHandler.cs
- DataGridCellsPresenter.cs
- DbProviderFactory.cs
- SessionPageStatePersister.cs
- Vector3DIndependentAnimationStorage.cs
- ProxySimple.cs
- OSFeature.cs
- BreakSafeBase.cs
- FilterQuery.cs
- ContainerSelectorGlyph.cs
- TypedDataSourceCodeGenerator.cs