Udostępnij za pośrednictwem


MailFileEditor Klasa

Definicja

Udostępnia interfejs użytkownika do wybierania i edytowania nazwy pliku poczty dla właściwości w czasie projektowania.

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
Dziedziczenie
MailFileEditor

Przykłady

W poniższym przykładzie kodu pokazano, jak skojarzyć wystąpienie MailFileEditor klasy z właściwością zawartą w kontrolce niestandardowej. Gdy właściwość kontrolki jest edytowana na powierzchni projektowej, MailFileEditor klasa udostępnia interfejs użytkownika do wybierania i edytowania nazwy pliku poczty dla wartości właściwości.

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

Uwagi

Klasa MailFileEditor jest obiektem UITypeEditor , którego można użyć w czasie projektowania, aby wybrać i edytować nazwę pliku poczty jako ciąg, a następnie przypisać ciąg do właściwości kontrolki. Na przykład kontrolka EmbeddedMailObject używa MailFileEditor klasy w czasie projektowania, aby ustawić wartość Path właściwości.

Użyj atrybutu EditorAttribute , aby skojarzyć właściwość MailFileEditor z właściwością. Gdy skojarzona właściwość jest edytowana na powierzchni projektowej, host projektanta wywołuje metodę EditValue . Metoda EditValue wyświetla okno dialogowe służące do wybierania nazwy pliku poczty z filtrowanej listy plików i zwraca nazwę pliku wybraną przez użytkownika. Metoda GetEditStyle wskazuje styl wyświetlania interfejsu użytkownika.

Utwórz klasę z MailFileEditor klasy , aby zdefiniować edytor niestandardowy dla właściwości nazwy pliku poczty. Na przykład klasa pochodna może zastąpić metodę EditValue i wyświetlić OpenFileDialog wystąpienie z niestandardowym filtrem lub tytułem pliku poczty.

Konstruktory

MailFileEditor()

Inicjuje nowe wystąpienie klasy MailFileEditor.

Właściwości

Caption

Pobiera podpis okna dialogowego edytora.

Filter

Pobiera ciąg filtru pliku dla okna dialogowego (na przykład "*.txt").

IsDropDownResizable

Pobiera wartość wskazującą, czy edytory listy rozwijanej powinny być zmienialne przez użytkownika.

(Odziedziczone po UITypeEditor)
Options

Pobiera opcje konstruktora adresów URL do użycia.

(Odziedziczone po UrlEditor)

Metody

EditValue(IServiceProvider, Object)

Edytuje wartość określonego obiektu przy użyciu stylu edytora wskazanego przez metodę GetEditStyle() .

(Odziedziczone po UITypeEditor)
EditValue(ITypeDescriptorContext, IServiceProvider, Object)

Edytuje wartość określonego obiektu przy użyciu stylu edytora dostarczonego przez metodę GetEditStyle(ITypeDescriptorContext) .

(Odziedziczone po UrlEditor)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetEditStyle()

Pobiera styl edytora używany przez metodę EditValue(IServiceProvider, Object) .

(Odziedziczone po UITypeEditor)
GetEditStyle(ITypeDescriptorContext)

Pobiera styl edycji EditValue(ITypeDescriptorContext, IServiceProvider, Object) metody.

(Odziedziczone po UrlEditor)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetPaintValueSupported()

Wskazuje, czy ten edytor obsługuje malowanie reprezentacji wartości obiektu.

(Odziedziczone po UITypeEditor)
GetPaintValueSupported(ITypeDescriptorContext)

Wskazuje, czy określony kontekst obsługuje malowanie reprezentacji wartości obiektu w określonym kontekście.

(Odziedziczone po UITypeEditor)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
PaintValue(Object, Graphics, Rectangle)

Maluje reprezentację wartości określonego obiektu na określoną kanwę.

(Odziedziczone po UITypeEditor)
PaintValue(PaintValueEventArgs)

Maluje reprezentację wartości obiektu przy użyciu określonego PaintValueEventArgsobiektu .

(Odziedziczone po UITypeEditor)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też