Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / WebControls / ListControls / BordersPage.cs / 1 / BordersPage.cs
using System.Design;
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.Design.WebControls.ListControls {
using System;
using System.Design;
using System.Collections;
using System.Globalization;
using System.ComponentModel;
using System.Drawing;
using System.Diagnostics;
using System.Web.UI.Design.Util;
using System.Web.UI.WebControls;
using System.Windows.Forms;
using WebControls = System.Web.UI.WebControls;
using DataGrid = System.Web.UI.WebControls.DataGrid;
using Button = System.Windows.Forms.Button;
using CheckBox = System.Windows.Forms.CheckBox;
using Label = System.Windows.Forms.Label;
///
///
/// The Borders page for the DataGrid and DataList controls
///
///
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]
internal sealed class BordersPage : BaseDataListPage {
private const int IDX_GRID_HORIZONTAL = 0;
private const int IDX_GRID_VERTICAL = 1;
private const int IDX_GRID_BOTH = 2;
private const int IDX_GRID_NEITHER = 3;
private NumberEdit cellPaddingEdit;
private NumberEdit cellSpacingEdit;
private ComboBox gridLinesCombo;
private ColorComboBox borderColorCombo;
private Button borderColorPickerButton;
private UnitControl borderWidthUnit;
///
protected override string HelpKeyword {
get {
if (IsDataGridMode) {
return "net.Asp.DataGridProperties.Borders";
}
else {
return "net.Asp.DataListProperties.Borders";
}
}
}
///
///
/// Creates the UI of the page.
///
private void InitForm() {
GroupLabel cellMarginGroup = new GroupLabel();
Label cellPaddingLabel = new Label();
this.cellPaddingEdit = new NumberEdit();
Label cellSpacingLabel = new Label();
this.cellSpacingEdit = new NumberEdit();
GroupLabel borderLinesGroup = new GroupLabel();
Label gridLinesLabel = new Label();
this.gridLinesCombo = new ComboBox();
Label colorLabel = new Label();
this.borderColorCombo = new ColorComboBox();
this.borderColorPickerButton = new Button();
Label borderWidthLabel = new Label();
this.borderWidthUnit = new UnitControl();
cellMarginGroup.SetBounds(4, 4, 300, 16);
cellMarginGroup.Text = SR.GetString(SR.BDLBor_CellMarginsGroup);
cellMarginGroup.TabStop = false;
cellMarginGroup.TabIndex = 0;
cellPaddingLabel.Text = SR.GetString(SR.BDLBor_CellPadding);
cellPaddingLabel.SetBounds(12, 24, 120, 14);
cellPaddingLabel.TabStop = false;
cellPaddingLabel.TabIndex = 1;
cellPaddingEdit.SetBounds(12, 40, 70, 20);
cellPaddingEdit.AllowDecimal = false;
cellPaddingEdit.AllowNegative = false;
cellPaddingEdit.TabIndex = 2;
cellPaddingEdit.TextChanged += new EventHandler(this.OnBordersChanged);
cellSpacingLabel.Text = SR.GetString(SR.BDLBor_CellSpacing);
cellSpacingLabel.SetBounds(160, 24, 120, 14);
cellSpacingLabel.TabStop = false;
cellSpacingLabel.TabIndex = 3;
cellSpacingEdit.SetBounds(160, 40, 70, 20);
cellSpacingEdit.AllowDecimal = false;
cellSpacingEdit.AllowNegative = false;
cellSpacingEdit.TabIndex = 4;
cellSpacingEdit.TextChanged += new EventHandler(this.OnBordersChanged);
borderLinesGroup.SetBounds(4, 70, 300, 16);
borderLinesGroup.Text = SR.GetString(SR.BDLBor_BorderLinesGroup);
borderLinesGroup.TabStop = false;
borderLinesGroup.TabIndex = 5;
gridLinesLabel.Text = SR.GetString(SR.BDLBor_GridLines);
gridLinesLabel.SetBounds(12, 90, 150, 14);
gridLinesLabel.TabStop = false;
gridLinesLabel.TabIndex = 6;
gridLinesCombo.SetBounds(12, 106, 140, 21);
gridLinesCombo.DropDownStyle = ComboBoxStyle.DropDownList;
gridLinesCombo.Items.Clear();
gridLinesCombo.Items.AddRange(new object[] {
SR.GetString(SR.BDLBor_GL_Horz),
SR.GetString(SR.BDLBor_GL_Vert),
SR.GetString(SR.BDLBor_GL_Both),
SR.GetString(SR.BDLBor_GL_None)
});
gridLinesCombo.TabIndex = 7;
gridLinesCombo.SelectedIndexChanged += new EventHandler(this.OnBordersChanged);
colorLabel.Text = SR.GetString(SR.BDLBor_BorderColor);
colorLabel.SetBounds(12, 134, 150, 14);
colorLabel.TabStop = false;
colorLabel.TabIndex = 8;
borderColorCombo.SetBounds(12, 150, 140, 21);
borderColorCombo.TabIndex = 9;
borderColorCombo.TextChanged += new EventHandler(this.OnBordersChanged);
borderColorCombo.SelectedIndexChanged += new EventHandler(this.OnBordersChanged);
borderColorPickerButton.SetBounds(156, 149, 24, 22);
borderColorPickerButton.Text = "...";
borderColorPickerButton.TabIndex = 10;
borderColorPickerButton.FlatStyle = FlatStyle.System;
borderColorPickerButton.Click += new EventHandler(this.OnClickColorPicker);
borderColorPickerButton.AccessibleName = SR.GetString(SR.BDLBor_ChooseColorButton);
borderColorPickerButton.AccessibleDescription = SR.GetString(SR.BDLBor_ChooseColorDesc);
borderWidthLabel.Text = SR.GetString(SR.BDLBor_BorderWidth);
borderWidthLabel.SetBounds(12, 178, 150, 14);
borderWidthLabel.TabStop = false;
borderWidthLabel.TabIndex = 11;
borderWidthUnit.SetBounds(12, 194, 102, 22);
borderWidthUnit.AllowNegativeValues = false;
borderWidthUnit.AllowPercentValues = false;
borderWidthUnit.DefaultUnit = UnitControl.UNIT_PX;
borderWidthUnit.TabIndex = 12;
borderWidthUnit.Changed += new EventHandler(OnBordersChanged);
borderWidthUnit.ValueAccessibleDescription = SR.GetString(SR.BDLBor_BorderWidthValueDesc);
borderWidthUnit.ValueAccessibleName = SR.GetString(SR.BDLBor_BorderWidthValueName);
borderWidthUnit.UnitAccessibleDescription = SR.GetString(SR.BDLBor_BorderWidthUnitDesc);
borderWidthUnit.UnitAccessibleName = SR.GetString(SR.BDLBor_BorderWidthUnitName);
this.Text = SR.GetString(SR.BDLBor_Text);
this.AccessibleDescription = SR.GetString(SR.BDLBor_Desc);
this.Size = new Size(308, 156);
this.CommitOnDeactivate = true;
this.Icon = new Icon(this.GetType(), "BordersPage.ico");
this.Controls.Clear();
this.Controls.AddRange(new Control[] {
borderWidthUnit,
borderWidthLabel,
borderColorPickerButton,
borderColorCombo,
colorLabel,
gridLinesCombo,
gridLinesLabel,
borderLinesGroup,
cellSpacingEdit,
cellSpacingLabel,
cellPaddingEdit,
cellPaddingLabel,
cellMarginGroup
});
}
///
///
/// Initializes the page before it can be loaded with the component.
///
private void InitPage() {
cellPaddingEdit.Clear();
cellSpacingEdit.Clear();
gridLinesCombo.SelectedIndex = -1;
borderColorCombo.Color = null;
borderWidthUnit.Value = null;
}
///
///
/// Loads the component into the page.
///
protected override void LoadComponent() {
InitPage();
BaseDataList bdl = (BaseDataList)GetBaseControl();
int cellPadding = bdl.CellPadding;
if (cellPadding != -1)
cellPaddingEdit.Text = (cellPadding).ToString(NumberFormatInfo.CurrentInfo);
int cellSpacing = bdl.CellSpacing;
if (cellSpacing != -1)
cellSpacingEdit.Text = (cellSpacing).ToString(NumberFormatInfo.CurrentInfo);
switch (bdl.GridLines) {
case GridLines.None:
gridLinesCombo.SelectedIndex = IDX_GRID_NEITHER;
break;
case GridLines.Horizontal:
gridLinesCombo.SelectedIndex = IDX_GRID_HORIZONTAL;
break;
case GridLines.Vertical:
gridLinesCombo.SelectedIndex = IDX_GRID_VERTICAL;
break;
case GridLines.Both:
gridLinesCombo.SelectedIndex = IDX_GRID_BOTH;
break;
}
borderColorCombo.Color = ColorTranslator.ToHtml(bdl.BorderColor);
borderWidthUnit.Value = bdl.BorderWidth.ToString(CultureInfo.CurrentCulture);
}
///
///
/// Handles changes in the border settings.
///
private void OnBordersChanged(object source, EventArgs e) {
if (IsLoading())
return;
SetDirty();
}
///
///
/// Invokes the color picker to pick the grid color.
///
private void OnClickColorPicker(object source, EventArgs e) {
string color = borderColorCombo.Color;
color = ColorBuilder.BuildColor(GetBaseControl(), this, color);
if (color != null) {
borderColorCombo.Color = color;
OnBordersChanged(borderColorCombo, EventArgs.Empty);
}
}
///
///
/// Saves the component loaded into the page.
///
protected override void SaveComponent() {
BaseDataList bdl = (BaseDataList)GetBaseControl();
try {
string cellPadding = cellPaddingEdit.Text.Trim();
if (cellPadding.Length != 0)
bdl.CellPadding = Int32.Parse(cellPadding, CultureInfo.CurrentCulture);
else
bdl.CellPadding = -1;
} catch {
if (bdl.CellPadding != -1) {
cellPaddingEdit.Text = (bdl.CellPadding).ToString(NumberFormatInfo.CurrentInfo);
}
else {
cellPaddingEdit.Clear();
}
}
try {
string cellSpacing = cellSpacingEdit.Text.Trim();
if (cellSpacing.Length != 0)
bdl.CellSpacing = Int32.Parse(cellSpacing, CultureInfo.CurrentCulture);
else
bdl.CellSpacing = -1;
} catch {
if (bdl.CellSpacing != -1) {
cellSpacingEdit.Text = (bdl.CellSpacing).ToString(NumberFormatInfo.CurrentInfo);
}
else {
cellSpacingEdit.Clear();
}
}
switch (gridLinesCombo.SelectedIndex) {
case IDX_GRID_HORIZONTAL:
bdl.GridLines = GridLines.Horizontal;
break;
case IDX_GRID_VERTICAL:
bdl.GridLines = GridLines.Vertical;
break;
case IDX_GRID_BOTH:
bdl.GridLines = GridLines.Both;
break;
case IDX_GRID_NEITHER:
bdl.GridLines = GridLines.None;
break;
}
try {
string colorValue = borderColorCombo.Color;
bdl.BorderColor = ColorTranslator.FromHtml(colorValue);
} catch {
borderColorCombo.Color = ColorTranslator.ToHtml(bdl.BorderColor);
}
try {
string borderWidth = borderWidthUnit.Value;
Unit unitValue = Unit.Empty;
if (borderWidth != null)
unitValue = Unit.Parse(borderWidth, CultureInfo.CurrentCulture);
bdl.BorderWidth = unitValue;
} catch {
borderWidthUnit.Value = bdl.BorderWidth.ToString(CultureInfo.CurrentCulture);
}
}
///
///
/// Sets the component that is to be edited in the page.
///
public override void SetComponent(IComponent component) {
base.SetComponent(component);
InitForm();
}
}
}
// 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
- Geometry3D.cs
- HttpCacheVary.cs
- Operator.cs
- SQLRoleProvider.cs
- ObjectAnimationUsingKeyFrames.cs
- CommunicationException.cs
- autovalidator.cs
- EntityStoreSchemaGenerator.cs
- DockPatternIdentifiers.cs
- ExpanderAutomationPeer.cs
- _SingleItemRequestCache.cs
- RelatedEnd.cs
- FastEncoderStatics.cs
- MailBnfHelper.cs
- OLEDB_Enum.cs
- FileDetails.cs
- VersionPair.cs
- GenericWebPart.cs
- Opcode.cs
- IfAction.cs
- HijriCalendar.cs
- CatalogPart.cs
- SafeHandles.cs
- Mapping.cs
- XmlIlVisitor.cs
- VideoDrawing.cs
- documentsequencetextcontainer.cs
- ConfigXmlDocument.cs
- LicenseManager.cs
- ExpressionPrinter.cs
- UnauthorizedWebPart.cs
- AttributeSetAction.cs
- SiteMapDataSourceDesigner.cs
- StringWriter.cs
- ConfigurationStrings.cs
- BitmapEffectDrawingContextWalker.cs
- Timer.cs
- NumericPagerField.cs
- PolicyLevel.cs
- ViewGenerator.cs
- BitmapEffectDrawing.cs
- CodeGenHelper.cs
- WebRequest.cs
- Converter.cs
- PathGeometry.cs
- PenLineJoinValidation.cs
- LineGeometry.cs
- XmlDesignerDataSourceView.cs
- Row.cs
- ActivityExecutionContextCollection.cs
- ReflectionUtil.cs
- Tuple.cs
- ServiceModelInstallComponent.cs
- NameValueSectionHandler.cs
- EventManager.cs
- ExpressionEditorAttribute.cs
- ConstraintStruct.cs
- FontCacheLogic.cs
- UTF7Encoding.cs
- NativeMethods.cs
- GenericsInstances.cs
- SlotInfo.cs
- MimeWriter.cs
- DeferredRunTextReference.cs
- FullTrustAssembly.cs
- WebProxyScriptElement.cs
- RelatedEnd.cs
- AssemblyEvidenceFactory.cs
- ConfigurationValues.cs
- SchemeSettingElementCollection.cs
- AxHost.cs
- Encoding.cs
- TypeLibConverter.cs
- WebBrowserEvent.cs
- TextWriterTraceListener.cs
- ObjectAssociationEndMapping.cs
- RepeaterItemCollection.cs
- XamlDebuggerXmlReader.cs
- SweepDirectionValidation.cs
- OrderedEnumerableRowCollection.cs
- SecUtil.cs
- SqlHelper.cs
- TransactionProtocol.cs
- ErrorProvider.cs
- CheckBoxList.cs
- SessionConnectionReader.cs
- ClientUtils.cs
- OutputCacheSettings.cs
- LicenseManager.cs
- WindowsListView.cs
- DictionaryChange.cs
- GZipUtils.cs
- DbQueryCommandTree.cs
- ImageAttributes.cs
- TableProviderWrapper.cs
- PrintingPermission.cs
- ExcludeFromCodeCoverageAttribute.cs
- ExtendedPropertyCollection.cs
- InplaceBitmapMetadataWriter.cs
- RemotingSurrogateSelector.cs