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
- ItemList.cs
- LogicalExpr.cs
- ImageAnimator.cs
- DrawListViewColumnHeaderEventArgs.cs
- handlecollector.cs
- Timer.cs
- HuffModule.cs
- DesignerFrame.cs
- FilterException.cs
- ValidationEventArgs.cs
- ContractMapping.cs
- sortedlist.cs
- ProxySimple.cs
- Vector3DAnimationUsingKeyFrames.cs
- VisualBasicSettings.cs
- SqlDataSourceEnumerator.cs
- PointKeyFrameCollection.cs
- PageAdapter.cs
- TextTreePropertyUndoUnit.cs
- NavigationExpr.cs
- CodeTypeReference.cs
- DependencyObjectCodeDomSerializer.cs
- DataFormats.cs
- InputLanguageSource.cs
- DataGridTable.cs
- EncodingStreamWrapper.cs
- RoleServiceManager.cs
- VersionedStreamOwner.cs
- DiscoveryReference.cs
- PrintingPermissionAttribute.cs
- LocalValueEnumerator.cs
- Sentence.cs
- ToolTip.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- WindowPattern.cs
- QueryExtender.cs
- NativeMethods.cs
- DefaultValueTypeConverter.cs
- TimeSpanSecondsConverter.cs
- TextBoxRenderer.cs
- FigureParaClient.cs
- _CacheStreams.cs
- ToolStripDropDown.cs
- XsltSettings.cs
- RelatedEnd.cs
- ZipIOExtraFieldElement.cs
- CleanUpVirtualizedItemEventArgs.cs
- SelectionItemProviderWrapper.cs
- InstanceCreationEditor.cs
- DocumentPageHost.cs
- CollectionConverter.cs
- PropertyDescriptor.cs
- TimeZone.cs
- BinaryUtilClasses.cs
- OdbcDataAdapter.cs
- StrokeNodeOperations2.cs
- HtmlForm.cs
- TemplatePartAttribute.cs
- CqlIdentifiers.cs
- FactoryMaker.cs
- CharEntityEncoderFallback.cs
- TextBox.cs
- FocusTracker.cs
- ProxyHelper.cs
- UrlAuthFailedErrorFormatter.cs
- RelatedCurrencyManager.cs
- SoapSchemaImporter.cs
- ContentType.cs
- TreeNodeBinding.cs
- ListViewUpdateEventArgs.cs
- DiffuseMaterial.cs
- BehaviorEditorPart.cs
- Size3D.cs
- CodeMemberField.cs
- InternalCache.cs
- XPathMultyIterator.cs
- EventProxy.cs
- StringBuilder.cs
- RenamedEventArgs.cs
- BaseParser.cs
- ValidationEventArgs.cs
- PlaceHolder.cs
- GetPageNumberCompletedEventArgs.cs
- TextParaClient.cs
- SqlExpressionNullability.cs
- StringAnimationUsingKeyFrames.cs
- HttpRequest.cs
- QilLoop.cs
- CfgParser.cs
- ViewService.cs
- AndCondition.cs
- TemplateLookupAction.cs
- TableLayoutPanel.cs
- ImageListStreamer.cs
- PasswordTextNavigator.cs
- Latin1Encoding.cs
- PerformanceCounterManager.cs
- Mouse.cs
- RtType.cs