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
- OptimalBreakSession.cs
- PropertyChangingEventArgs.cs
- AmbientProperties.cs
- VerticalAlignConverter.cs
- ExceptionUtility.cs
- ContentTypeSettingClientMessageFormatter.cs
- SystemFonts.cs
- BigInt.cs
- ConnectionPoolRegistry.cs
- Popup.cs
- ToolStripDropDownItem.cs
- MenuItemStyleCollection.cs
- RowUpdatingEventArgs.cs
- VisualBasicHelper.cs
- AuthenticateEventArgs.cs
- XamlStyleSerializer.cs
- UserControlParser.cs
- WebPartUserCapability.cs
- GridLength.cs
- CodeEntryPointMethod.cs
- TemplateColumn.cs
- DataGridViewRowsRemovedEventArgs.cs
- AvtEvent.cs
- SQLSingle.cs
- CodeBinaryOperatorExpression.cs
- GatewayDefinition.cs
- MetafileHeader.cs
- RevocationPoint.cs
- SourceFileInfo.cs
- PropertyCollection.cs
- EventLogPermissionAttribute.cs
- EventProviderClassic.cs
- WindowsTitleBar.cs
- DataGridViewButtonColumn.cs
- ContextMenuAutomationPeer.cs
- SettingsContext.cs
- WindowsListViewScroll.cs
- GridLengthConverter.cs
- AspProxy.cs
- _BaseOverlappedAsyncResult.cs
- Site.cs
- MaterializeFromAtom.cs
- ChineseLunisolarCalendar.cs
- SQLGuid.cs
- SecurityKeyUsage.cs
- SapiRecoContext.cs
- DocumentGridPage.cs
- CodeSnippetStatement.cs
- ViewStateChangedEventArgs.cs
- AxWrapperGen.cs
- peersecuritysettings.cs
- CorrelationValidator.cs
- BidPrivateBase.cs
- COM2FontConverter.cs
- FastEncoderWindow.cs
- IndexedEnumerable.cs
- InternalCache.cs
- WebPartDisplayModeCollection.cs
- namescope.cs
- TableAdapterManagerGenerator.cs
- Button.cs
- TableLayoutPanelCellPosition.cs
- MessageQueueKey.cs
- KeyNotFoundException.cs
- AsymmetricSignatureDeformatter.cs
- PasswordTextContainer.cs
- DataControlPagerLinkButton.cs
- XPathItem.cs
- TransformConverter.cs
- GroupBoxAutomationPeer.cs
- IteratorFilter.cs
- AsymmetricAlgorithm.cs
- DecoratedNameAttribute.cs
- TextWriterTraceListener.cs
- TaskFileService.cs
- MailMessage.cs
- TraceHwndHost.cs
- DataControlFieldHeaderCell.cs
- Token.cs
- WaitHandleCannotBeOpenedException.cs
- HwndMouseInputProvider.cs
- EditorPart.cs
- LineVisual.cs
- HttpRequest.cs
- WebPartConnectionsDisconnectVerb.cs
- TemplateColumn.cs
- ObjectDataSourceMethodEditor.cs
- AppSettingsReader.cs
- BitmapCodecInfo.cs
- HtmlHistory.cs
- AssertUtility.cs
- PointValueSerializer.cs
- HtmlInputHidden.cs
- SharedStatics.cs
- PasswordRecovery.cs
- Row.cs
- ArraySegment.cs
- TemplatePropertyEntry.cs
- EditorBrowsableAttribute.cs
- OleTxTransaction.cs