MailFileEditor Class

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

Namespace: System.Web.UI.Design
Assembly: System.Design (in system.design.dll)

'Declaration
Public Class MailFileEditor
	Inherits UrlEditor
'Usage
Dim instance As MailFileEditor

public class MailFileEditor extends UrlEditor
public class MailFileEditor extends UrlEditor
Not applicable.

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.

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.


Imports Microsoft.VisualBasic
Imports System
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Web.UI
Imports System.Web.UI.Design
Imports System.Web.UI.Design.WebControls
Imports System.Web.UI.WebControls

Namespace ControlDesignerSamples.VB


    ' Define a simple text control, derived from the 
    ' System.Web.UI.WebControls.Label class.

    <Designer(GetType(TextControlDesigner))> _
    Public Class SimpleTextControl
        Inherits Label

        ' Define a private member to store the file name value in the control.
        Private _filename As String = ""
        Private _internalText As String = ""

        ' Define the public mail file name property.  Indicate that the
        ' property can be edited at design-time with the MailFileEditor class.
        <EditorAttribute(GetType(System.Web.UI.Design.MailFileEditor), _
                         GetType(System.Drawing.Design.UITypeEditor))> _
        Public Property MailFileName() As String
            Get
                Return _filename
            End Get

            Set(ByVal value As String)
                _filename = value
            End Set
        End Property

        ' Define a property that returns the timestamp
        ' for the selected file.
        Public ReadOnly Property LastChanged() As String
            Get
                If Not _filename Is Nothing AndAlso _filename.Length > 0 Then
                    If System.IO.File.Exists(_filename) Then
                        Dim lastChangedStamp As DateTime
                        lastChangedStamp = System.IO.File.GetLastWriteTime(_filename)
                        Return lastChangedStamp.ToLongDateString()
                    End If
                End If

                Return String.Empty

            End Get

        End Property

        ' 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 Overrides Property Text() As String
            Get
                If _internalText.Length = 0 And LastChanged.Length > 0 Then
                    ' 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
                End If
                Return _internalText
            End Get

            Set(ByVal value As String)
                If Not value Is Nothing AndAlso value.Length > 0 Then
                    _internalText = value
                Else
                    _internalText = String.Empty
                End If

            End Set
        End Property

    End Class
End Namespace

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions

ADD
Show: