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
- QilInvokeEarlyBound.cs
- M3DUtil.cs
- SortableBindingList.cs
- InitializingNewItemEventArgs.cs
- XmlWriterDelegator.cs
- Number.cs
- DetailsView.cs
- COM2TypeInfoProcessor.cs
- EdmScalarPropertyAttribute.cs
- ScalarConstant.cs
- ConfigXmlSignificantWhitespace.cs
- DynamicUpdateCommand.cs
- AppSettingsExpressionBuilder.cs
- ByteStorage.cs
- MaterializeFromAtom.cs
- OracleCommand.cs
- UrlAuthFailedErrorFormatter.cs
- LinkedList.cs
- EventLog.cs
- HtmlForm.cs
- SqlFlattener.cs
- WebReferencesBuildProvider.cs
- SourceFileInfo.cs
- PersonalizationProviderCollection.cs
- XamlStyleSerializer.cs
- ResourceProviderFactory.cs
- StringArrayConverter.cs
- UInt32Storage.cs
- XmlNode.cs
- ShapingWorkspace.cs
- SHA384.cs
- HiddenField.cs
- IdentifierService.cs
- ProcessThread.cs
- ShutDownListener.cs
- relpropertyhelper.cs
- ErrorProvider.cs
- SubtreeProcessor.cs
- ActiveXSite.cs
- CompositionAdorner.cs
- DoWorkEventArgs.cs
- DataGridBoundColumn.cs
- BoundColumn.cs
- SByte.cs
- WebPageTraceListener.cs
- ObjectViewFactory.cs
- ContextQuery.cs
- SimpleMailWebEventProvider.cs
- XmlnsCache.cs
- mda.cs
- PrePrepareMethodAttribute.cs
- BrowsableAttribute.cs
- PanelContainerDesigner.cs
- DesignBinding.cs
- NegotiateStream.cs
- VirtualPathUtility.cs
- PointF.cs
- IPEndPointCollection.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- FontDialog.cs
- Ops.cs
- SafeProcessHandle.cs
- PatternMatcher.cs
- DataColumnSelectionConverter.cs
- BackgroundFormatInfo.cs
- QueuePathDialog.cs
- WebServiceClientProxyGenerator.cs
- ConstraintCollection.cs
- CultureTable.cs
- FacetDescriptionElement.cs
- Errors.cs
- CheckBox.cs
- ClientConvert.cs
- HwndHostAutomationPeer.cs
- EnterpriseServicesHelper.cs
- CodeDefaultValueExpression.cs
- DesignerUtility.cs
- OleDbParameter.cs
- DataServiceHost.cs
- ViewgenContext.cs
- DocumentXPathNavigator.cs
- ImmutableDispatchRuntime.cs
- PersonalizationEntry.cs
- ViewManager.cs
- HttpHostedTransportConfiguration.cs
- TraceContextEventArgs.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- LockRecoveryTask.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- ServiceModelConfigurationElementCollection.cs
- GcHandle.cs
- XmlHierarchyData.cs
- ToolStripGrip.cs
- AmbientLight.cs
- ProgressChangedEventArgs.cs
- LeftCellWrapper.cs
- SizeConverter.cs
- RemoteWebConfigurationHostServer.cs
- Delay.cs
- RecordManager.cs