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
- AuthenticationSchemesHelper.cs
- QueueProcessor.cs
- ServiceModelReg.cs
- TextServicesHost.cs
- CodeMemberEvent.cs
- URL.cs
- NumberFormatter.cs
- MetadataItemEmitter.cs
- ActivityInterfaces.cs
- StandardToolWindows.cs
- CaseInsensitiveHashCodeProvider.cs
- AdornerLayer.cs
- WindowsRegion.cs
- TextElement.cs
- EventTrigger.cs
- Image.cs
- CompilerGlobalScopeAttribute.cs
- _RequestCacheProtocol.cs
- Point3DConverter.cs
- DiscoveryVersion.cs
- ScalarRestriction.cs
- ContainerParagraph.cs
- SpellerHighlightLayer.cs
- ImpersonateTokenRef.cs
- _SslStream.cs
- WsdlBuildProvider.cs
- DataGridViewComboBoxColumn.cs
- FindCriteriaCD1.cs
- ColorMap.cs
- ZipIOModeEnforcingStream.cs
- ObjectConverter.cs
- EventProperty.cs
- ResourceProviderFactory.cs
- DependencyObjectPropertyDescriptor.cs
- HostSecurityManager.cs
- BaseTemplateParser.cs
- HtmlTableCellCollection.cs
- OneOfElement.cs
- XmlSchemaDocumentation.cs
- GenerateTemporaryTargetAssembly.cs
- BindingContext.cs
- ComPlusDiagnosticTraceRecords.cs
- HttpListenerPrefixCollection.cs
- JsonXmlDataContract.cs
- GridViewCancelEditEventArgs.cs
- XamlParser.cs
- EncoderFallback.cs
- ObjectDataSource.cs
- AttributeProviderAttribute.cs
- TextServicesCompartment.cs
- PathStreamGeometryContext.cs
- ResourceAttributes.cs
- ProtocolsConfiguration.cs
- DataListCommandEventArgs.cs
- GraphicsState.cs
- DynamicDocumentPaginator.cs
- ObjectItemConventionAssemblyLoader.cs
- CommandLineParser.cs
- CodeGeneratorOptions.cs
- SemaphoreSecurity.cs
- FileClassifier.cs
- WizardForm.cs
- HybridDictionary.cs
- ExceptionUtil.cs
- ChangesetResponse.cs
- OleServicesContext.cs
- TimeSpanValidator.cs
- InProcStateClientManager.cs
- PropertyPathConverter.cs
- FileStream.cs
- OverrideMode.cs
- CapabilitiesPattern.cs
- ComponentSerializationService.cs
- SafeLocalMemHandle.cs
- EventTrigger.cs
- SectionRecord.cs
- BuildTopDownAttribute.cs
- GlobalItem.cs
- linebase.cs
- TemplateField.cs
- ToolStripSplitStackLayout.cs
- MultipartIdentifier.cs
- TargetControlTypeAttribute.cs
- DynamicDocumentPaginator.cs
- FontSource.cs
- CommonProperties.cs
- WebPartDisplayMode.cs
- TimeoutValidationAttribute.cs
- KeyManager.cs
- ServicePoint.cs
- PersonalizationProviderCollection.cs
- WarningException.cs
- MatcherBuilder.cs
- XslAstAnalyzer.cs
- SpellerHighlightLayer.cs
- DataBinder.cs
- HttpPostedFile.cs
- AssociationTypeEmitter.cs
- WebPartDeleteVerb.cs
- WCFBuildProvider.cs