Code:
/ DotNET / DotNET / 8.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
- StylusPointProperty.cs
- DataServiceBehavior.cs
- XMLDiffLoader.cs
- LayoutEngine.cs
- ItemsChangedEventArgs.cs
- HttpCachePolicy.cs
- TdsParserStateObject.cs
- ByteFacetDescriptionElement.cs
- OleDbEnumerator.cs
- UniqueEventHelper.cs
- WindowsAuthenticationEventArgs.cs
- ChineseLunisolarCalendar.cs
- CommandEventArgs.cs
- SpeakInfo.cs
- RequiredAttributeAttribute.cs
- ContentPosition.cs
- RepeatButton.cs
- SessionStateSection.cs
- LocatorPart.cs
- ApplicationServicesHostFactory.cs
- DeploymentExceptionMapper.cs
- MemberInfoSerializationHolder.cs
- HandlerBase.cs
- XmlUrlResolver.cs
- VoiceSynthesis.cs
- XsltFunctions.cs
- MdImport.cs
- RegexTypeEditor.cs
- VirtualPathUtility.cs
- TextCollapsingProperties.cs
- JoinCqlBlock.cs
- MediaSystem.cs
- BufferCache.cs
- PrintController.cs
- OrderingExpression.cs
- ReadOnlyCollectionBuilder.cs
- XmlMtomReader.cs
- HotSpot.cs
- EventTrigger.cs
- BaseTreeIterator.cs
- CodeTypeMemberCollection.cs
- ContractType.cs
- ColumnReorderedEventArgs.cs
- XmlReaderSettings.cs
- TextParaClient.cs
- UIElementCollection.cs
- AnimationClockResource.cs
- CodeMemberField.cs
- ArrangedElementCollection.cs
- ToolStripTextBox.cs
- _DisconnectOverlappedAsyncResult.cs
- PackUriHelper.cs
- TextServicesManager.cs
- metadatamappinghashervisitor.cs
- TextFormatterHost.cs
- ProcessDesigner.cs
- Parser.cs
- TemplatingOptionsDialog.cs
- ComponentEditorPage.cs
- DynamicPropertyHolder.cs
- QilIterator.cs
- Point4D.cs
- SAPICategories.cs
- JsonByteArrayDataContract.cs
- CapiNative.cs
- RangeContentEnumerator.cs
- TdsRecordBufferSetter.cs
- QilUnary.cs
- PenThread.cs
- SafeEventLogWriteHandle.cs
- RegistrySecurity.cs
- HtmlControlPersistable.cs
- SByteConverter.cs
- NotifyInputEventArgs.cs
- PathGradientBrush.cs
- WebPartChrome.cs
- OverflowException.cs
- SelectedDatesCollection.cs
- Rectangle.cs
- AndCondition.cs
- ProtectedProviderSettings.cs
- PageVisual.cs
- BaseWebProxyFinder.cs
- XPathMultyIterator.cs
- ResourceAttributes.cs
- SimpleBitVector32.cs
- ConstraintStruct.cs
- CodeDOMProvider.cs
- ByeMessageApril2005.cs
- TreeNodeBindingCollection.cs
- DataContractSet.cs
- MimeXmlImporter.cs
- linebase.cs
- CustomErrorCollection.cs
- XmlSchemaException.cs
- OdbcRowUpdatingEvent.cs
- DataControlField.cs
- ISFTagAndGuidCache.cs
- FlowDocumentFormatter.cs
- KoreanLunisolarCalendar.cs