MailFileEditor 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供使用者介面,以便在設計階段選取和編輯屬性 (Property) 的郵件檔名稱。
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 會提供使用者介面來選取和編輯屬性值的郵件檔案名。
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 產生器 (Builder) 使用的選項。 (繼承來源 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) |