ControlDesigner.Initialize メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ControlDesigner.Initialize メソッドの意味・解説 

ControlDesigner.Initialize メソッド

コントロール デザイナ初期化し指定されコンポーネント読み込みます。

名前空間: System.Web.UI.Design
アセンブリ: System.Design (system.design.dll 内)
構文構文

解説解説
使用例使用例

Initialize メソッドオーバーライドするコントロール クラスおよびコントロール デザイナ クラス使用して内部変数初期化する方法コード例次に示します

' Create a designer class for a custom class,
' named Simple.
Imports System
Imports System.ComponentModel
Imports System.IO
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.Design
Imports System.Web.UI.WebControls
Imports System.Security.Permissions
Imports AspNet.Samples

Namespace AspNet.Samples

   Public NotInheritable Class
 SimpleDesigner
      Inherits System.Web.UI.Design.ControlDesigner
      ' Declare a reference to the Simple class
      Private simpleControl As Simple
  
      ' Create a constructor for the designer class
      ' When an instance of the designer is created,
      ' the Text property of the instance of a Simple control
      ' is set to the designer's ID property.
      ' the designer is called.
      Public Sub New()
        simpleControl = CType(Component, Simple)      
        simpleControl.Text = Me.ID
      End Sub

      ' Override the Initialize method to ensure
      ' that the designer is always working with
      ' an instance of the Simple class.
      Overrides Public Sub
 Initialize( _
       ByVal component As IComponent _
      )
      
        If Not (component Is
 simpleControl)
                throw new ArgumentException(
 _
                 "The component must be an instance of the Simple
 class.", _
                 "component")
        End If

        MyBase.Initialize(component)
      
      End Sub
      
      Overrides Public ReadOnly
 Property AllowResize As Boolean
        Get
          Return True
        End Get
      End Property
      
      Public Overrides Function
 GetDesignTimeHtml() As String
         ' Component is the instance of the component or control that
         ' this designer object is associated with. This property is
 
         ' inherited from System.ComponentModel.ComponentDesigner.
         simpleControl = CType(Component, Simple)
         
         If simpleControl.Text.Length > 0 Then
            Dim sw As New
 StringWriter()
            Dim tw As New
 HtmlTextWriter(sw)
            
            Dim placeholderLink As New
 HyperLink()
            
            ' Put simpleControl.Text into the link's Text.
            placeholderLink.Text = simpleControl.Text
            placeholderLink.NavigateUrl = simpleControl.Text
            placeholderLink.RenderControl(tw)
            
            Return sw.ToString()
         Else
            Return GetEmptyDesignTimeHtml()
         End If
      End Function

      ' Override the OnControlResize method to
      ' set the IsDirty property to true and
      ' call the UpdateDesignTimeHtml method.      
      Overrides Protected Sub
 OnControlResize()
        Me.IsDirty = True
        Me.UpdateDesignTimeHtml
      End Sub
      
   End Class
End Namespace
using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.Design;
using System.Web.UI.WebControls;

namespace AspNet.Samples
{
    // Create a custom class to render the Text property
    [Designer(typeof(SimpleDesigner)), DefaultProperty("Text"), 
    ToolboxData("<{0}:Simple runat=\"server\"></{0}:Simple>")]
    public sealed class Simple : WebControl
    {
        public Simple()
        { }

        // Create a Text property
        [Browsable(true), Bindable(true), 
            PersistenceMode(PersistenceMode.Attribute)]
        public string Text
        {
            get
            {
                object o = ViewState["TextProp"];
                return (o == null) ? "Sample
 Text" : (string)o;
            }
            set { ViewState["TextProp"] = value; }
        }

        // Render the text inside the control
        protected override void RenderContents(HtmlTextWriter
 writer)
        {
            writer.Write(Text);
        }
    }
}

namespace AspNet.Samples
{
    //Create a designer class for the Simple control
    public sealed class SimpleDesigner : ControlDesigner
    {
        // Declare a reference to the Simple class
        private Simple simpleControl;

        public SimpleDesigner()
        { }

        public override void Initialize(IComponent
 ponent)
        {
            base.Initialize(ponent);

            // Get a reference to the control
            simpleControl = (Simple)ponent;

            //Set Text to the control's ID
            simpleControl.Text = simpleControl.ID;
        }

        // Allow resizing the control in the design host
        public override bool AllowResize
        {
            get
            {
                return true;
            }
        }

        public override string GetDesignTimeHtml()
        {
            if (simpleControl.Text.Length > 0)
            {
                string spec = "<a href='{0}.aspx'>{0}</a>";
                return String.Format(spec, simpleControl.Text);
            }
            else
                return GetEmptyDesignTimeHtml();
        }
    }
}
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

ControlDesigner.Initialize メソッド

コンポーネント指定してデザイナ初期化します。

名前空間: System.Windows.Forms.Design
アセンブリ: System.Design (system.design.dll 内)
構文構文

Public Overrides Sub Initialize
 ( _
    component As IComponent _
)
Dim instance As ControlDesigner
Dim component As IComponent

instance.Initialize(component)

パラメータ

component

デザイナ関連付ける対象の IComponent。このコンポーネントは、常に、Controlインスタンスであるか、そこから派生している必要があります

解説解説
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ControlDesigner クラス
ControlDesigner メンバ
System.Windows.Forms.Design 名前空間
IDesigner



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ControlDesigner.Initialize メソッド」の関連用語

ControlDesigner.Initialize メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ControlDesigner.Initialize メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS