MailFileEditor Class

Definition

Provides a user interface for selecting and editing a mail file name for a property at design time.

C#
public class MailFileEditor : System.Web.UI.Design.UrlEditor
Inheritance
MailFileEditor

Examples

The following code example demonstrates how to associate an instance of the MailFileEditor class with a property that is contained within a custom control. When the control property is edited in the design surface, the MailFileEditor class provides the user interface to select and edit a mail file name for the property value.

C#
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Web.UI;
using System.Web.UI.Design;
using System.Web.UI.Design.WebControls;
using System.Web.UI.WebControls;

namespace ControlDesignerSamples.CS
{
    // Define a simple text control, derived from the 
    // System.Web.UI.WebControls.Label class.
    [
        Designer(typeof(TextControlDesigner))
    ]
    public class SimpleTextControl : Label
    {
        // Define a private member to store the file name value in the control.
        private string _filename = "";
        private string _internalText = "";

        // Define the public file name property.  Indicate that the
        // property can be edited at design-time with the MailFileEditor class.
        [EditorAttribute(typeof(System.Web.UI.Design.MailFileEditor), 
                         typeof(System.Drawing.Design.UITypeEditor))]
        public string MailFileName
        {
            get
            {
                return _filename;
            }
            set
            {
                _filename = value;
            }
        }

        // Define a property that returns the timestamp
        // for the selected file.
        public string LastChanged
        {
            get
            {
                if ((_filename != null) && (_filename.Length > 0))
                {
                    if (System.IO.File.Exists(_filename))
                    {
                        DateTime lastChangedStamp = System.IO.File.GetLastWriteTime(_filename);
                        return lastChangedStamp.ToLongDateString();
                    }
                }
                return "";
            }
        }

        // Override the control Text property, setting the default
        // text to the LastChanged string value for the selected
        // file name.  If the file name has not been set in the
        // design view, then default to an empty string.
        public override string Text
        {
            get
            {
                if ((_internalText == "") && (LastChanged.Length > 0))
                {
                    // If the internally stored value hasn't been set,
                    // and the file name property has been set,
                    // return the last changed timestamp for the file.
                    _internalText = LastChanged;
                } 
                return _internalText;
            }

            set
            {
                if ((value != null) && (value.Length > 0))
                {
                    _internalText = value;
                }
                else {
                    _internalText = "";
                }
            }
        }
    }
}

Remarks

The MailFileEditor class is an UITypeEditor object that can be used at design time to select and edit a mail file name as a string, and assign the string to a control property. For example, the EmbeddedMailObject control uses the MailFileEditor class at design time to set the value of the Path property.

Use the EditorAttribute attribute to associate the MailFileEditor with a property. When the associated property is edited in the design surface, the designer host calls the EditValue method. The EditValue method displays a dialog box for selecting a mail file name from a filtered list of files, and returns the file name that is selected by the user. The GetEditStyle method indicates the display style of the user interface.

Derive a class from the MailFileEditor to define a custom editor for a mail file name property. For example, a derived class can override the EditValue method, and display an OpenFileDialog instance with a custom mail file filter or title.

Constructors

MailFileEditor()

Initializes a new instance of the MailFileEditor class.

Properties

Caption

Gets the caption for the editor dialog.

Filter

Gets the file filter string for the dialog (such as "*.txt").

IsDropDownResizable

Gets a value indicating whether drop-down editors should be resizable by the user.

(Inherited from UITypeEditor)
Options

Gets the options for the URL builder to use.

(Inherited from UrlEditor)

Methods

EditValue(IServiceProvider, Object)

Edits the value of the specified object using the editor style indicated by the GetEditStyle() method.

(Inherited from UITypeEditor)
EditValue(ITypeDescriptorContext, IServiceProvider, Object)

Edits the value of the specified object using the editor style provided by the GetEditStyle(ITypeDescriptorContext) method.

(Inherited from UrlEditor)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEditStyle()

Gets the editor style used by the EditValue(IServiceProvider, Object) method.

(Inherited from UITypeEditor)
GetEditStyle(ITypeDescriptorContext)

Gets the editing style of the EditValue(ITypeDescriptorContext, IServiceProvider, Object) method.

(Inherited from UrlEditor)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetPaintValueSupported()

Indicates whether this editor supports painting a representation of an object's value.

(Inherited from UITypeEditor)
GetPaintValueSupported(ITypeDescriptorContext)

Indicates whether the specified context supports painting a representation of an object's value within the specified context.

(Inherited from UITypeEditor)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
PaintValue(Object, Graphics, Rectangle)

Paints a representation of the value of the specified object to the specified canvas.

(Inherited from UITypeEditor)
PaintValue(PaintValueEventArgs)

Paints a representation of the value of an object using the specified PaintValueEventArgs.

(Inherited from UITypeEditor)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to

产品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

See also