SupportsPreviewControlAttribute Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menunjukkan apakah perancang kontrol memerlukan instans pratinjau kontrol pada waktu desain. Kelas ini tidak dapat diwariskan.
public ref class SupportsPreviewControlAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class SupportsPreviewControlAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class)>]
type SupportsPreviewControlAttribute = class
inherit Attribute
Public NotInheritable Class SupportsPreviewControlAttribute
Inherits Attribute
- Warisan
- Atribut
Contoh
Contoh kode berikut menunjukkan cara menandai perancang kontrol dengan SupportsPreviewControlAttribute atribut . Contoh kode memperoleh kontrol server ASP.NET dari Label kelas dan mengaitkan kontrol server ASP.NET dengan implementasi perancang kontrol kustom. Deklarasi kelas perancang kontrol ditandai dengan atribut yang SupportsPreviewControl diatur ke true. Perancang kontrol mengambil alih GetDesignTimeHtml metode dan mengapit HTML waktu desain untuk kontrol dalam tag miring.
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;
using System.Reflection;
namespace ControlDesignerSamples.CS
{
// Define a simple designer associated with a
// simple text web control.
// Mark the designer with the SupportsPreviewControlAttribute set
// to true. This means the base.UsePreviewControl returns true,
// and base.ViewControl returns a temporary preview copy of the control.
[SupportsPreviewControl(true)]
public class SimpleTextControlDesigner : TextControlDesigner
{
// Override the base GetDesignTimeHtml method to display
// the design time text in italics.
public override string GetDesignTimeHtml()
{
string html = String.Empty;
try
{
// Initialize the return string to the default
// design time html of the base TextControlDesigner.
html = base.GetDesignTimeHtml();
// Get the ViewControl for the associated control.
Label ctrl = (Label)ViewControl;
ctrl.Style.Add(HtmlTextWriterStyle.FontStyle, "Italic");
html = base.GetDesignTimeHtml();
}
catch (System.Exception e)
{
if (String.IsNullOrEmpty(html))
{
html = GetErrorDesignTimeHtml(e);
}
}
return html;
}
}
// Derive a simple Web control from Label to render a text string.
// Associate this control with the SimpleTextControlDesigner.
[DesignerAttribute("ControlDesignerSamples.CS.SimpleTextControlDesigner"),
ToolboxData("<{0}:MyLabelControl Runat=\"Server\"><{0}:MyLabelControl>")]
public class MyLabelControl : Label
{
// Use the Label control implementation, but associate
// the derived class with the custom control designer.
}
}
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
Imports System.Reflection
Namespace ControlDesignerSamples.VB
' Derive a simple Web control from Label to render a text string.
' Associate this control with the SimpleTextControlDesigner.
<DesignerAttribute("ControlDesignerSamples.CS.SimpleTextControlDesigner"), _
ToolboxData("<{0}:MyLabelControl Runat=""Server""><{0}:MyLabelControl>")> _
Public Class MyLabelControl
Inherits Label
' Use the Label control implementation, but associate
' the derived class with the custom control designer.
End Class
' Mark the designer with the SupportsPreviewControlAttribute set
' to true. This means the base.UsePreviewControl returns true,
' and base.ViewControl returns a temporary preview copy of the control.
<SupportsPreviewControl(True)> _
Public Class SimpleTextControlDesigner
Inherits TextControlDesigner
' Override the base GetDesignTimeHtml method to display
' the design time text in italics.
Public Overrides Function GetDesignTimeHtml() As String
Dim html As String = String.Empty
Try
' Get the ViewControl for the associated control.
Dim ctrl As Label = CType(ViewControl, Label)
' Set the default text, if necessary
If ctrl.Text.Length = 0 Then
ctrl.Text = "Sample Text"
End If
' Set the style to italic
ctrl.Style.Add(HtmlTextWriterStyle.FontStyle, "italic")
' Let the base class create the HTML markup
html = MyBase.GetDesignTimeHtml()
Catch ex As Exception
If String.IsNullOrEmpty(html) Then
' Display the exception message
html = GetErrorDesignTimeHtml(ex)
End If
End Try
Return html
End Function
End Class
End Namespace
Keterangan
Terapkan SupportsPreviewControlAttribute atribut ke kelas perancang kontrol untuk menunjukkan jenis kontrol pratinjau yang didukung oleh perancang kontrol. Gunakan atribut ini untuk mengubah kontrol pratinjau untuk penyajian waktu desain tanpa memengaruhi instans kontrol terkait yang sebenarnya.
Biasanya, Anda menentukan SupportsPreviewControlAttribute saat mendeklarasikan kelas desainer kustom yang berasal dari ControlDesigner kelas . Nilai SupportsPreviewControl properti untuk SupportsPreviewControlAttribute atribut menentukan perilaku untuk anggota UsePreviewControl dan ViewControl di kelas dasar ControlDesigner .
Atur SupportsPreviewControl properti ke true untuk menunjukkan bahwa perancang menggunakan salinan sementara kontrol terkait untuk menghasilkan HTML waktu desain. Perubahan pada kontrol sementara tidak dipertahankan.
Atur SupportsPreviewControl properti ke false untuk menunjukkan bahwa perancang mengembalikan instans kontrol, khususnya Component properti, dari ViewControl metode . Perubahan pada objek kontrol dipertahankan.
Misalnya, CalendarDesigner kelas ditandai dengan diatur ke SupportsPreviewControlAttributetrue. Perancang menggunakan kontrol pratinjau dengan tugas pemformatan gaya otomatis, yang memungkinkan pengguna untuk mempratinjau berbagai gaya format otomatisyang dapat diterapkan ke kalender. Saat pengguna memilih gaya format otomatis yang berbeda di antarmuka pengguna, skema gaya yang dipilih diterapkan ke kontrol pratinjau. Menerapkan gaya baru ke kontrol pratinjau tidak mengubah skema yang diterapkan ke instans Calendar kontrol di perancang.
SupportsPreviewControlAttribute Jika tidak ditentukan dalam deklarasi perancang kontrol, ControlDesigner perilaku tersebut setara dengan menentukan SupportsPreviewControl sebagai false.
Nota
Kelas desainer yang berasal dari ControlDesigner kelas dapat mengambil alih UsePreviewControl anggota dan ViewControl , dan mengabaikan SupportsPreviewControlAttribute atribut . Untuk menentukan perilaku yang diharapkan untuk ViewControl dan UsePreviewControl, lihat dokumentasi referensi untuk kelas perancang kontrol turunan.
Untuk informasi umum tentang menggunakan atribut, lihat Gambaran Umum atribut dan Atribut. Untuk informasi selengkapnya tentang atribut waktu desain, lihat Atribut dan Dukungan Design-Time.
Konstruktor
| Nama | Deskripsi |
|---|---|
| SupportsPreviewControlAttribute(Boolean) |
Menginisialisasi instans SupportsPreviewControlAttribute baru kelas dan mengatur nilai SupportsPreviewControl awal properti. |
Bidang
| Nama | Deskripsi |
|---|---|
| Default |
Mendapatkan instans SupportsPreviewControlAttribute kelas yang diatur ke nilai pratinjau default. Bidang ini hanya dapat dibaca. |
Properti
| Nama | Deskripsi |
|---|---|
| SupportsPreviewControl |
Mendapatkan nilai yang menunjukkan apakah perancang kontrol memerlukan kontrol pratinjau sementara pada waktu desain. |
| TypeId |
Ketika diimplementasikan dalam kelas turunan, mendapatkan pengidentifikasi unik untuk Attributeini. (Diperoleh dari Attribute) |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Menentukan apakah objek yang ditentukan mewakili pengaturan atribut pratinjau yang sama dengan instans SupportsPreviewControlAttribute kelas saat ini. |
| GetHashCode() |
Mengembalikan kode hash untuk instans SupportsPreviewControlAttribute kelas ini. |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| IsDefaultAttribute() |
Menunjukkan apakah instans SupportsPreviewControlAttribute kelas saat ini diatur ke nilai atribut pratinjau default. |
| Match(Object) |
Saat ditimpa dalam kelas turunan, mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai. (Diperoleh dari Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Mengambil informasi jenis untuk objek, yang dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka. (Diperoleh dari Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1). (Diperoleh dari Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Menyediakan akses ke properti dan metode yang diekspos oleh objek. (Diperoleh dari Attribute) |