Поделиться через


MailFileEditor Класс

Определение

Предоставляет пользовательский интерфейс для выбора и изменения имени почтового файла для свойства во время разработки.

public ref class MailFileEditor : System::Web::UI::Design::UrlEditor
public class MailFileEditor : System.Web.UI.Design.UrlEditor
type MailFileEditor = class
    inherit UrlEditor
Public Class MailFileEditor
Inherits UrlEditor
Наследование
MailFileEditor

Примеры

В следующем примере кода показано, как связать экземпляр MailFileEditor класса с свойством, содержащимся в пользовательском элементе управления. Когда свойство элемента управления редактируется в области конструктора, MailFileEditor класс предоставляет пользовательский интерфейс для выбора и изменения имени почтового файла для значения свойства.

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 = "";
                }
            }
        }
    }
}

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

Комментарии

Класс MailFileEditor — это UITypeEditor объект, который можно использовать во время разработки для выбора и изменения имени почтового файла в виде строки и назначения строки свойству элемента управления. Например, EmbeddedMailObject элемент управления использует MailFileEditor класс во время разработки, чтобы задать значение Path свойства.

EditorAttribute Используйте атрибут, чтобы связать MailFileEditor его со свойством. Когда связанное свойство редактируется в области конструктора, узел конструктора вызывает EditValue метод. Метод EditValue отображает диалоговое окно для выбора имени почтового файла из отфильтрованного списка файлов и возвращает имя файла, выбранное пользователем. Метод GetEditStyle указывает стиль отображения пользовательского интерфейса.

Наследуйте класс из MailFileEditor настраиваемого редактора для свойства имени почтового файла. Например, производный класс может переопределить EditValue метод и отобразить OpenFileDialog экземпляр с настраиваемым фильтром файлов почты или заголовком.

Конструкторы

Имя Описание
MailFileEditor()

Инициализирует новый экземпляр класса MailFileEditor.

Свойства

Имя Описание
Caption

Возвращает заголовок для диалогового окна редактора.

Filter

Возвращает строку фильтра файлов для диалогового окна (например, "*.txt").

IsDropDownResizable

Возвращает значение, указывающее, следует ли изменять размер раскрывающихся списков пользователем.

(Унаследовано от UITypeEditor)
Options

Возвращает параметры построителя URL-адресов для использования.

(Унаследовано от UrlEditor)

Методы

Имя Описание
EditValue(IServiceProvider, Object)

Изменяет значение указанного объекта с помощью стиля редактора, указанного методом GetEditStyle() .

(Унаследовано от UITypeEditor)
EditValue(ITypeDescriptorContext, IServiceProvider, Object)

Изменяет значение указанного объекта с помощью стиля редактора, предоставленного методом GetEditStyle(ITypeDescriptorContext) .

(Унаследовано от UrlEditor)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetEditStyle()

Возвращает стиль редактора, используемый методом EditValue(IServiceProvider, Object) .

(Унаследовано от UITypeEditor)
GetEditStyle(ITypeDescriptorContext)

Возвращает стиль редактирования EditValue(ITypeDescriptorContext, IServiceProvider, Object) метода.

(Унаследовано от UrlEditor)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetPaintValueSupported()

Указывает, поддерживает ли этот редактор представление значения объекта.

(Унаследовано от UITypeEditor)
GetPaintValueSupported(ITypeDescriptorContext)

Указывает, поддерживает ли указанный контекст рисование представления значения объекта в указанном контексте.

(Унаследовано от UITypeEditor)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
PaintValue(Object, Graphics, Rectangle)

Рисует представление значения указанного объекта на указанном холсте.

(Унаследовано от UITypeEditor)
PaintValue(PaintValueEventArgs)

Закрашивает представление значения объекта с помощью указанного PaintValueEventArgsобъекта.

(Унаследовано от UITypeEditor)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел