Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Design / DeviceFilterEditorDialog.cs / 1305376 / DeviceFilterEditorDialog.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design.MobileControls { using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Data; using System.Diagnostics; using System.Globalization; using System.IO; using System.Reflection; using System.Web.UI; // using System.Web.UI.Design.Util; using System.Web.UI.MobileControls; using System.Windows.Forms; using System.Web.UI.Design.MobileControls.Util; using Control = System.Windows.Forms.Control; using Label = System.Windows.Forms.Label; using TextBox = System.Windows.Forms.TextBox; using DeviceFilterMode = Util.DeviceFilterNode.DeviceFilterMode; ////// The General page for the TextView control. /// ///[ System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode) ] [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] internal sealed class DeviceFilterEditorDialog : DesignerForm { /// /// Initializes the UI of the form. /// private EditableTreeList _filterList = null; private DefaultDialogButtons _dialogButtons = null; private WebConfigManager _webConfig = null; private ISite _site = null; private static readonly String _nameOfDefaultFilter = SR.GetString(SR.DeviceFilter_DefaultChoice); private System.Windows.Forms.Label _lblCompare; private System.Windows.Forms.ComboBox _cbCompare; private System.Windows.Forms.Label _lblArgument; private System.Windows.Forms.TextBox _txtArgument; private System.Windows.Forms.Panel _pnlCompare; private System.Windows.Forms.Label _lblType; private System.Windows.Forms.Label _lblMethod; private System.Windows.Forms.TextBox _txtMethod; private System.Windows.Forms.TextBox _txtType; private System.Windows.Forms.Panel _pnlDelegate; private System.Windows.Forms.RadioButton _rbDelegate; private System.Windows.Forms.RadioButton _rbCompare; private System.Windows.Forms.Panel _pnlRight; private System.Windows.Forms.Panel _pnlMain; private GroupLabel _glAttributes; private GroupLabel _glType; private HeaderPanel _pnlHeader; private HeaderLabel _lblHeader; internal DeviceFilterEditorDialog(ISite site) : this(site, new WebConfigManager(site)) { } // NOTE: A FileLoadException is thrown if an error occurs while reading // web.config. internal DeviceFilterEditorDialog(ISite site, WebConfigManager webConfig) : base(site) { InitializeComponent(); _lblArgument.Text = SR.GetString(SR.DeviceFilterEditorDialog_Argument); _glAttributes.Text = SR.GetString(SR.DeviceFilterEditorDialog_Attributes); _lblMethod.Text = SR.GetString(SR.DeviceFilterEditorDialog_Method); _glType.Text = SR.GetString(SR.DeviceFilterEditorDialog_TypeGl); _rbCompare.Text = SR.GetString(SR.DeviceFilterEditorDialog_Equality); _lblCompare.Text = SR.GetString(SR.DeviceFilterEditorDialog_Compare); _rbDelegate.Text = SR.GetString(SR.DeviceFilterEditorDialog_Evaluator); _lblType.Text = SR.GetString(SR.DeviceFilterEditorDialog_TypeTxt); _lblHeader.Text = SR.GetString(SR.DeviceFilterEditorDialog_Header); this.Text = SR.GetString(SR.DeviceFilterEditorDialog_Title); int tabOffset = 0; this._pnlMain.TabIndex = tabOffset++; this._filterList.TabIndex = tabOffset++; this._pnlRight.TabIndex = tabOffset++; this._glType.TabIndex = tabOffset++; this._rbCompare.TabIndex = tabOffset++; this._rbDelegate.TabIndex = tabOffset++; this._glAttributes.TabIndex = tabOffset++; this._pnlCompare.TabIndex = tabOffset++; this._pnlDelegate.TabIndex = tabOffset++; this._lblCompare.TabIndex = tabOffset++; this._cbCompare.TabIndex = tabOffset++; this._lblType.TabIndex = tabOffset++; this._txtType.TabIndex = tabOffset++; this._lblArgument.TabIndex = tabOffset++; this._txtArgument.TabIndex = tabOffset++; this._lblMethod.TabIndex = tabOffset++; this._txtMethod.TabIndex = tabOffset++; this._dialogButtons.TabIndex = tabOffset++; _webConfig = webConfig; this._site = site; GenericUI.InitDialog(this, site); _filterList.LblTitle.Text = SR.GetString(SR.DeviceFilterEditorDialog_DeviceFilters); _filterList.BtnAdd.Text = SR.GetString(SR.DeviceFilterEditorDialog_NewDeviceFilter); // Attempt to load Device Filters ArrayList filters = null; try { filters = _webConfig.ReadDeviceFilters(); } catch (FileNotFoundException e) { GenericUI.ShowWarningMessage( SR.GetString(SR.DeviceFilterEditorDialog_Title), SR.GetString(SR.DeviceFilterEditorDialog_WebConfigMissingOnOpen) ); throw new FileLoadException( SR.GetString(SR.WebConfig_FileLoadException, e) ); } catch (Exception e) { if (e.Message.Equals(SR.GetString(SR.DeviceFilterEditorDialog_DuplicateNames))) { GenericUI.ShowWarningMessage( SR.GetString(SR.DeviceFilterEditorDialog_Title), SR.GetString(SR.DeviceFilterEditorDialog_DuplicateNames) ); } else { GenericUI.ShowWarningMessage( SR.GetString(SR.DeviceFilterEditorDialog_Title), SR.GetString( SR.DeviceFilterEditorDialog_WebConfigParsingError, e.Message ) ); } throw new FileLoadException( SR.GetString(SR.WebConfig_FileLoadException, e) ); } // Make sure web.config is checked out before we make changes. _webConfig.EnsureWebConfigCheckedOut(); // Insert the Device Filters into the List UI foreach(DeviceFilterNode filter in filters) { DeviceFilterTreeNode node = new DeviceFilterTreeNode(filter); _filterList.TvList.Nodes.Add(node); } // Make sure all filters have a name... // NOTE: Do not combine with the above loop or GetUniqueLabel() // will not necessarily be unique. It could be done if // we wrote another implementation of GetUniqueLabel() // that compared against filters [ArrayList returned // from ReadDeviceFilters()]. foreach(DeviceFilterTreeNode node in _filterList.TvList.Nodes) { if(String.IsNullOrEmpty(node.Text)) { node.Text = _filterList.GetUniqueLabel( SR.GetString(SR.DeviceFilterNode_DefaultFilterName) ); } } // Initialize the UI _rbCompare.Click += new EventHandler(OnClickCompareRadioButton); _rbDelegate.Click += new EventHandler(OnClickDelegateRadioButton); _cbCompare.TextChanged += new EventHandler(OnTextChanged); _cbCompare.SelectedIndexChanged += new EventHandler(OnTextChanged); _txtArgument.TextChanged += new EventHandler(OnTextChanged); _txtType.TextChanged += new EventHandler(OnTextChanged); _txtMethod.TextChanged += new EventHandler(OnTextChanged); _filterList.TvList.AfterLabelEdit += new NodeLabelEditEventHandler(OnAfterLabelEdit); _filterList.TvList.AfterSelect += new TreeViewEventHandler(OnFilterSelected); _filterList.BtnAdd.Click += new EventHandler(OnClickAddButton); _filterList.BtnRemove.Click += new EventHandler(OnClickRemoveButton); _filterList.TvList.SelectedNode = null; LoadAvailableCapabilities(); UpdateButtonsEnabling(); _dialogButtons.CmdOK.Click += new EventHandler(OnClickOK); _dialogButtons.CmdCancel.Click += new EventHandler(OnClickCancel); } protected override string HelpTopic { get { return "net.Mobile.DeviceFilterEditorDialog"; } } private void InitializeComponent() { this._pnlHeader = new HeaderPanel(); this._lblHeader = new HeaderLabel(); this._glAttributes = new GroupLabel(); this._glType = new GroupLabel(); this._txtType = new System.Windows.Forms.TextBox(); this._pnlMain = new System.Windows.Forms.Panel(); this._filterList = new EditableTreeList(); this._rbCompare = new System.Windows.Forms.RadioButton(); this._lblCompare = new System.Windows.Forms.Label(); this._dialogButtons = new DefaultDialogButtons(); this._lblType = new System.Windows.Forms.Label(); this._txtMethod = new System.Windows.Forms.TextBox(); this._txtArgument = new System.Windows.Forms.TextBox(); this._pnlRight = new System.Windows.Forms.Panel(); this._lblMethod = new System.Windows.Forms.Label(); this._rbDelegate = new System.Windows.Forms.RadioButton(); this._pnlCompare = new System.Windows.Forms.Panel(); this._cbCompare = new System.Windows.Forms.ComboBox(); this._lblArgument = new System.Windows.Forms.Label(); this._pnlDelegate = new System.Windows.Forms.Panel(); this._txtType.Location = new System.Drawing.Point(0, 20); this._txtType.Size = new System.Drawing.Size(211, 20); this._lblHeader.Location = new System.Drawing.Point(0, 0); this._lblHeader.Size = new System.Drawing.Size(434, 16); this._lblHeader.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left); this._pnlHeader.Controls.AddRange(new System.Windows.Forms.Control[] { this._lblHeader }); this._pnlHeader.Location = new System.Drawing.Point(6, 5); this._pnlHeader.Size = new System.Drawing.Size(434, 16); this._pnlHeader.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left); this._pnlMain.Controls.AddRange(new System.Windows.Forms.Control[] {this._dialogButtons, this._pnlRight, this._filterList}); this._pnlMain.Location = new System.Drawing.Point(6, 27); this._pnlMain.Size = new System.Drawing.Size(434, 253); this._pnlMain.Anchor = (System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left); this._filterList.Size = new System.Drawing.Size(198, 224); this._filterList.Location = new System.Drawing.Point(0, 0); this._rbCompare.Location = new System.Drawing.Point(8, 21); this._rbCompare.Size = new System.Drawing.Size(211, 17); this._lblCompare.Location = new System.Drawing.Point(0, 4); this._lblCompare.Size = new System.Drawing.Size(211, 16); this._dialogButtons.Location = new System.Drawing.Point(197, 230); this._dialogButtons.Size = new System.Drawing.Size(237, 23); this._lblType.Location = new System.Drawing.Point(0, 4); this._lblType.Size = new System.Drawing.Size(211, 16); this._txtMethod.Location = new System.Drawing.Point(0, 64); this._txtMethod.Size = new System.Drawing.Size(211, 20); this._txtArgument.Location = new System.Drawing.Point(0, 64); this._txtArgument.Size = new System.Drawing.Size(211, 20); this._pnlRight.Controls.AddRange(new System.Windows.Forms.Control[] {this._pnlCompare, this._pnlDelegate, this._glAttributes, this._glType, this._rbDelegate, this._rbCompare}); this._pnlRight.Location = new System.Drawing.Point(215, 0); this._pnlRight.Size = new System.Drawing.Size(219, 226); this._lblMethod.Location = new System.Drawing.Point(0, 48); this._lblMethod.Size = new System.Drawing.Size(211, 16); this._glAttributes.Location = new System.Drawing.Point(0, 73); this._glAttributes.Size = new System.Drawing.Size(216, 16); this._rbDelegate.Location = new System.Drawing.Point(8, 46); this._rbDelegate.Size = new System.Drawing.Size(211, 17); this._glType.Size = new System.Drawing.Size(216, 16); this._pnlCompare.Controls.AddRange(new System.Windows.Forms.Control[] {this._txtArgument, this._lblArgument, this._cbCompare, this._lblCompare}); this._pnlCompare.Location = new System.Drawing.Point(8, 90); this._pnlCompare.Size = new System.Drawing.Size(211, 136); this._cbCompare.DropDownWidth = 211; this._cbCompare.Location = new System.Drawing.Point(0, 20); this._cbCompare.Size = new System.Drawing.Size(211, 21); this._cbCompare.Sorted = true; this._lblArgument.Location = new System.Drawing.Point(0, 48); this._lblArgument.Size = new System.Drawing.Size(211, 16); this._pnlDelegate.Controls.AddRange(new System.Windows.Forms.Control[] {this._txtType, this._txtMethod, this._lblMethod, this._lblType}); this._pnlDelegate.Location = new System.Drawing.Point(8, 90); this._pnlDelegate.Size = new System.Drawing.Size(211, 136); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.ClientSize = new System.Drawing.Size(448, 289); this.AcceptButton = _dialogButtons.CmdOK; this.CancelButton = _dialogButtons.CmdCancel; this.Controls.AddRange(new System.Windows.Forms.Control[] {this._pnlHeader, this._pnlMain}); } private void LoadAvailableCapabilities() { Type type = typeof(System.Web.Mobile.MobileCapabilities); PropertyInfo[] properties = type.GetProperties(); foreach(PropertyInfo property in properties) { _cbCompare.Items.Add(property.Name); } } private void UpdateButtonsEnabling() { _filterList.UpdateButtonsEnabling(); bool filterIsSelected = (_filterList.SelectedNode != null); _rbCompare.Enabled = filterIsSelected; _rbDelegate.Enabled = filterIsSelected; _cbCompare.Enabled = filterIsSelected; _txtArgument.Enabled = filterIsSelected; _txtMethod.Enabled = filterIsSelected; _txtType.Enabled = filterIsSelected; } internal void SelectFilterByName(String name) { foreach(DeviceFilterTreeNode filter in _filterList.TvList.Nodes) { if(filter.DeviceFilter.Name == name) { _filterList.TvList.SelectedNode = filter; break; } } } private enum RequirementFlag { NotAllowed, Required, Optional }; private bool FilterIsLegal_CheckRow(RequirementFlag[] row1, bool[] row2) { Debug.Assert(row1.Length == row2.Length); for(int i = 0; i < row1.Length; i++) { if(row1[i] == RequirementFlag.NotAllowed && row2[i] == true) { return false; } else if(row1[i] == RequirementFlag.Required && row2[i] == false) { return false; } } return true; } private bool FilterIsLegal(DeviceFilterNode filter) { Object[] legalCombinations = { new RequirementFlag[] { RequirementFlag.Required, // compare mode RequirementFlag.Required, // compare RequirementFlag.Optional, // argument RequirementFlag.Optional, // method RequirementFlag.Optional // type }, new RequirementFlag[] { RequirementFlag.NotAllowed, // compare mode RequirementFlag.Optional, // compare RequirementFlag.Optional, // argument RequirementFlag.Required, // method RequirementFlag.Required // type } }; bool[] filterCombination = { (filter.Mode == DeviceFilterMode.Compare), ((filter.Compare != null) && (filter.Compare.Length > 0)), ((filter.Argument != null) && (filter.Argument.Length > 0)), ((filter.Type != null) && (filter.Type.Length > 0)), ((filter.Method != null) && (filter.Method.Length > 0)), }; foreach(RequirementFlag[] legalCombination in legalCombinations) { if(FilterIsLegal_CheckRow(legalCombination, filterCombination)) { return true; } } return false; } #if DEBUG private bool Debug_DuplicateFiltersExist(ICollection filters) { // Filter names are case-sensitive. IDictionary namesEncountered = new Hashtable(); foreach(DeviceFilterTreeNode node in filters) { DeviceFilterNode filter = node.DeviceFilter; if(namesEncountered[filter.Name] != null) { return true; } namesEncountered[filter.Name] = true; } return false; } #endif private bool FiltersAreValid() { #if DEBUG Debug.Assert( !Debug_DuplicateFiltersExist(_filterList.TvList.Nodes), "UI failed to prevent duplicate filters from being created." ); #endif ArrayList filtersInErrorList = new ArrayList(); foreach(DeviceFilterTreeNode filterNode in _filterList.TvList.Nodes) { DeviceFilterNode filter = filterNode.DeviceFilter; if(!FilterIsLegal(filter)) { filtersInErrorList.Add(filter.Name); } } if(filtersInErrorList.Count != 0) { GenericUI.ShowWarningMessage( SR.GetString(SR.DeviceFilterEditorDialog_Title), SR.GetString( SR.DeviceFilterEditorDialog_InvalidFilter, GenericUI.BuildCommaDelimitedList( filtersInErrorList ) ) ); return false; } return true; } private bool SaveFilters() { Cursor oldCursor = null; try { oldCursor = this.Cursor; this.Cursor = Cursors.WaitCursor; ArrayList oldFilters = _webConfig.ReadDeviceFilters(); foreach(DeviceFilterNode filter in oldFilters) { filter.Delete(); } _webConfig.EnsureSystemWebSectionIsPresent(); foreach(DeviceFilterTreeNode filter in _filterList.TvList.Nodes) { filter.DeviceFilter.Save(); } _webConfig.Save(); } catch (FileNotFoundException) { this.Cursor = oldCursor; GenericUI.ShowWarningMessage( SR.GetString(SR.DeviceFilterEditorDialog_Title), SR.GetString(SR.DeviceFilterEditorDialog_WebConfigMissing) ); return false; } catch (Exception e) { this.Cursor = oldCursor; GenericUI.ShowWarningMessage( SR.GetString(SR.DeviceFilterEditorDialog_Title), SR.GetString(SR.DeviceFilterEditorDialog_WebConfigParsingError, e.Message) ); Debug.Fail(e.ToString()); return false; } this.Cursor = oldCursor; return true; } // NOTE: AppliedDeviceFiltersDialog also uses this test... internal static bool NewLabelIsLegal( ISite site, EditableTreeList filterList, String oldLabel, String newLabel, String errorDialogTitle ) { Debug.Assert(site != null); if(newLabel.Length == 0) { GenericUI.ShowWarningMessage( errorDialogTitle, SR.GetString(SR.DeviceFilterEditorDialog_UnnamedFilter) ); return false; } /* Removed for DCR 4240 if (!DesignerUtility.IsValidName(newLabel)) { GenericUI.ShowWarningMessage( errorDialogTitle, SR.GetString(SR.DeviceFilterEditorDialog_IllegalName, newLabel) ); return false; } */ return true; } //////////////////////////////////////////////////////////////////////// // Begin Event Handling //////////////////////////////////////////////////////////////////////// private void OnClickOK(Object sender, EventArgs e) { if(!FiltersAreValid()) { return; } if(!SaveFilters()) { return; } Close(); DialogResult = DialogResult.OK; } private void OnClickCancel(Object sender, EventArgs e) { Close(); DialogResult = DialogResult.Cancel; } private void CompareMode() { DeviceFilterTreeNode node = (DeviceFilterTreeNode)_filterList.SelectedNode; node.DeviceFilter.Mode = DeviceFilterMode.Compare; _pnlCompare.Visible = true; _pnlDelegate.Visible = false; _rbCompare.Checked = true; // We set Text proprety twice to preserve casing. (See AUI 3964 / // URT 99595) String compare = node.DeviceFilter.Compare; _cbCompare.Text = compare; _cbCompare.Text = compare; _txtArgument.Text = node.DeviceFilter.Argument; } private void DelegateMode() { DeviceFilterTreeNode node = (DeviceFilterTreeNode)_filterList.SelectedNode; node.DeviceFilter.Mode = DeviceFilterMode.Delegate; _pnlCompare.Visible = false; _pnlDelegate.Visible = true; _rbDelegate.Checked = true; _txtType.Text = node.DeviceFilter.Type; _txtMethod.Text = node.DeviceFilter.Method; } private void OnClickRemoveButton(Object sender, EventArgs e) { if (_filterList.SelectedNode == null) { _pnlCompare.Visible = true; _pnlDelegate.Visible = false; _rbCompare.Checked = false; _rbDelegate.Checked = false; _cbCompare.Text = String.Empty; _txtArgument.Text = String.Empty; UpdateButtonsEnabling(); } } private void OnClickAddButton(Object sender, EventArgs e) { DeviceFilterTreeNode node = new DeviceFilterTreeNode(_webConfig); node.Text = _filterList.GetUniqueLabel(node.Text); _filterList.TvList.Nodes.Add(node); _filterList.TvList.SelectedNode = node; node.EnsureVisible(); UpdateButtonsEnabling(); node.BeginEdit(); } private void OnClickCompareRadioButton(Object Sender, EventArgs e) { CompareMode(); } private void OnClickDelegateRadioButton(Object Sender, EventArgs e) { DelegateMode(); } private void OnFilterSelected(Object sender, TreeViewEventArgs e) { DeviceFilterTreeNode node = (DeviceFilterTreeNode) e.Node; UpdateButtonsEnabling(); if(node.DeviceFilter.Mode == DeviceFilterMode.Compare) { CompareMode(); } else { DelegateMode(); } } private void OnAfterLabelEdit(Object sender, NodeLabelEditEventArgs e) { // null still returned if label unmodified (verified 2310) if(e.Label == null) { return; } String oldLabel = e.Node.Text; String newLabel = e.Label; if(String.Compare(oldLabel, newLabel, StringComparison.OrdinalIgnoreCase) != 0 && _filterList.LabelExists(newLabel)) { // if the filter is duplicate GenericUI.ShowWarningMessage( SR.GetString(SR.DeviceFilterEditorDialog_Title), SR.GetString(SR.DeviceFilterEditorDialog_DuplicateName, newLabel) ); } else if(String.Compare(newLabel, _nameOfDefaultFilter, StringComparison.OrdinalIgnoreCase) == 0) { GenericUI.ShowWarningMessage( SR.GetString(SR.DeviceFilterEditorDialog_Title), SR.GetString(SR.DeviceFilterEditorDialog_IllegalDefaultName, newLabel) ); } else if(NewLabelIsLegal(_site, _filterList, oldLabel, newLabel, SR.GetString(SR.DeviceFilterEditorDialog_Title) )) { // if the filter name is legal ((DeviceFilterTreeNode)e.Node).DeviceFilter.Name = e.Label; return; } // if the filter name was duplicate or not legal e.CancelEdit = true; } private void OnTextChanged(Object sender, EventArgs e) { if (null != _filterList.SelectedNode) { DeviceFilterNode node = ((DeviceFilterTreeNode)_filterList.SelectedNode).DeviceFilter; if(sender == _cbCompare) { node.Compare = _cbCompare.Text; } else if(sender == _txtArgument) { node.Argument = _txtArgument.Text; } else if(sender == _txtType) { node.Type = _txtType.Text; } else if(sender == _txtMethod) { node.Method = _txtMethod.Text; } else { Debug.Fail("Unknown sender."); } } } //////////////////////////////////////////////////////////////////////// // End Event Handling //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// // Begin Private Class //////////////////////////////////////////////////////////////////////// // AppliedDeviceFiltersDialog also needs access to this class. [ System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode) ] private class DeviceFilterTreeNode : TreeNode, ICloneable { internal readonly DeviceFilterNode DeviceFilter; internal DeviceFilterTreeNode(WebConfigManager webConfig) : base() { DeviceFilter = new DeviceFilterNode(webConfig); base.Text = DeviceFilter.Name; } internal DeviceFilterTreeNode(DeviceFilterNode node) { DeviceFilter = node; base.Text = node.Name; } internal new String Text { get { Debug.Assert(DeviceFilter.Name == base.Text); return DeviceFilter.Name; } set { base.Text = value; DeviceFilter.Name = value; } } } //////////////////////////////////////////////////////////////////////// // End Private Class //////////////////////////////////////////////////////////////////////// } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TransformProviderWrapper.cs
- DocumentViewerConstants.cs
- System.Data_BID.cs
- MouseActionValueSerializer.cs
- CodeCommentStatement.cs
- ExecutionProperties.cs
- CompensatableTransactionScopeActivity.cs
- ColorMatrix.cs
- TransactionInterop.cs
- RoleGroupCollection.cs
- RoleBoolean.cs
- ObjectViewQueryResultData.cs
- TimeSpan.cs
- TranslateTransform3D.cs
- SAPICategories.cs
- GroupBox.cs
- smtpconnection.cs
- DataPagerCommandEventArgs.cs
- _NegoStream.cs
- WebPartZoneCollection.cs
- Exceptions.cs
- SubclassTypeValidatorAttribute.cs
- CollectionBuilder.cs
- ToolBarTray.cs
- StreamReader.cs
- regiisutil.cs
- PolicyValidationException.cs
- KeysConverter.cs
- QuaternionConverter.cs
- SemaphoreSecurity.cs
- XmlCharType.cs
- ListItemCollection.cs
- DocumentPageHost.cs
- StrokeDescriptor.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- KeyTime.cs
- AppliesToBehaviorDecisionTable.cs
- ActivityBuilderXamlWriter.cs
- Util.cs
- FixedHighlight.cs
- WmfPlaceableFileHeader.cs
- MethodBuilder.cs
- WebBrowserBase.cs
- ObservableDictionary.cs
- Pair.cs
- EventLogPermissionAttribute.cs
- SqlServices.cs
- WMIInterop.cs
- OdbcConnection.cs
- QilPatternVisitor.cs
- AdPostCacheSubstitution.cs
- MessageQueuePermissionEntry.cs
- FragmentQueryProcessor.cs
- FontNameConverter.cs
- ClockGroup.cs
- ThreadStartException.cs
- KeySpline.cs
- MSG.cs
- TransformPattern.cs
- Enum.cs
- IfAction.cs
- TemplateControl.cs
- WebPartDescriptionCollection.cs
- Content.cs
- MessageLogTraceRecord.cs
- DataMisalignedException.cs
- IndexedEnumerable.cs
- TypeDependencyAttribute.cs
- TextStore.cs
- COAUTHIDENTITY.cs
- ManagedIStream.cs
- InvalidCommandTreeException.cs
- Query.cs
- CardSpacePolicyElement.cs
- TextEditorDragDrop.cs
- EventDrivenDesigner.cs
- PersonalizationStateQuery.cs
- Stylus.cs
- CodeTypeConstructor.cs
- DesignerView.cs
- OSEnvironmentHelper.cs
- GeneratedView.cs
- ADMembershipProvider.cs
- GridItemPatternIdentifiers.cs
- StylusShape.cs
- PlatformCulture.cs
- HTTPNotFoundHandler.cs
- SystemInfo.cs
- GridViewSelectEventArgs.cs
- PropertyPathConverter.cs
- QueryConverter.cs
- Geometry.cs
- FullTextBreakpoint.cs
- HttpCacheVary.cs
- LeaseManager.cs
- DataGridViewTextBoxColumn.cs
- ShapingWorkspace.cs
- ToolStripDropDownMenu.cs
- InvokePatternIdentifiers.cs
- FileCodeGroup.cs