<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=ASP.NET_Tutorial%2FCustom_Controls%2FExtends_CompositeControl</id>
		<title>ASP.NET Tutorial/Custom Controls/Extends CompositeControl - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=ASP.NET_Tutorial%2FCustom_Controls%2FExtends_CompositeControl"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.NET_Tutorial/Custom_Controls/Extends_CompositeControl&amp;action=history"/>
		<updated>2026-04-29T19:24:45Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=ASP.NET_Tutorial/Custom_Controls/Extends_CompositeControl&amp;diff=3326&amp;oldid=prev</id>
		<title> в 15:30, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.NET_Tutorial/Custom_Controls/Extends_CompositeControl&amp;diff=3326&amp;oldid=prev"/>
				<updated>2010-05-26T15:30:57Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:30, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=ASP.NET_Tutorial/Custom_Controls/Extends_CompositeControl&amp;diff=3327&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.NET_Tutorial/Custom_Controls/Extends_CompositeControl&amp;diff=3327&amp;oldid=prev"/>
				<updated>2010-05-26T12:00:23Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Creating a composite control (C#)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Web.UI;&lt;br /&gt;
using System.Web.UI.WebControls;&lt;br /&gt;
namespace WebControlLibrary1&lt;br /&gt;
{&lt;br /&gt;
    [DefaultProperty(&amp;quot;Text&amp;quot;)]&lt;br /&gt;
    [ToolboxData(&amp;quot;&amp;lt;{0}:WebCustomControl2 runat=server&amp;gt;&amp;lt;/{0}:WebCustomControl2&amp;gt;&amp;quot;)]&lt;br /&gt;
    public class WebCustomControl2 : CompositeControl&lt;br /&gt;
    {&lt;br /&gt;
        protected TextBox textbox = new TextBox();&lt;br /&gt;
        protected override void CreateChildControls()&lt;br /&gt;
        {&lt;br /&gt;
            this.Controls.Add(textbox);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Creating a composite control (VB)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
Imports System.ruponentModel&lt;br /&gt;
Imports System.Web.UI&lt;br /&gt;
Imports System.Web.UI.WebControls&lt;br /&gt;
&amp;lt;DefaultProperty(&amp;quot;Text&amp;quot;)&amp;gt; _&lt;br /&gt;
&amp;lt;ToolboxData(&amp;quot;&amp;lt;{0}:[WebCustomControl2] runat=server&amp;gt;&amp;lt;/{0}:[WebCustomControl2]&amp;gt;&amp;quot;)&amp;gt; _&lt;br /&gt;
Public Class [WebCustomControl2]&lt;br /&gt;
    Inherits System.Web.UI.WebControls.rupositeControl&lt;br /&gt;
    Protected textbox As TextBox&lt;br /&gt;
    Protected Overrides Sub CreateChildControls()&lt;br /&gt;
        Me.Controls.Add(textbox)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Exposing control properties in a composite control (C#)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Web.UI;&lt;br /&gt;
using System.Web.UI.WebControls;&lt;br /&gt;
namespace WebControlLibrary1&lt;br /&gt;
{&lt;br /&gt;
    [DefaultProperty(&amp;quot;Text&amp;quot;)]&lt;br /&gt;
    [ToolboxData(&amp;quot;&amp;lt;{0}:WebCustomControl2 runat=server&amp;gt;&amp;lt;/{0}:WebCustomControl2&amp;gt;&amp;quot;)]&lt;br /&gt;
    public class WebCustomControl2 : CompositeControl&lt;br /&gt;
    {&lt;br /&gt;
        protected TextBox textbox = new TextBox();&lt;br /&gt;
        public string Text&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                EnsureChildControls();&lt;br /&gt;
                return textbox.Text;&lt;br /&gt;
            }&lt;br /&gt;
            set&lt;br /&gt;
            {&lt;br /&gt;
                EnsureChildControls();&lt;br /&gt;
                textbox.Text = value;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected override void CreateChildControls()&lt;br /&gt;
        {&lt;br /&gt;
            this.Controls.Add(textbox);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Exposing control properties in a composite control (VB)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
Imports System.ruponentModel&lt;br /&gt;
Imports System.Web.UI&lt;br /&gt;
Imports System.Web.UI.WebControls&lt;br /&gt;
&amp;lt;DefaultProperty(&amp;quot;Text&amp;quot;)&amp;gt; _&lt;br /&gt;
&amp;lt;ToolboxData(&amp;quot;&amp;lt;{0}:[WebCustomControl2] runat=server&amp;gt;&amp;lt;/{0}:[WebCustomControl2]&amp;gt;&amp;quot;)&amp;gt; _&lt;br /&gt;
Public Class [WebCustomControl2]&lt;br /&gt;
    Inherits System.Web.UI.WebControls.rupositeControl&lt;br /&gt;
    Protected textbox As TextBox&lt;br /&gt;
    Public Property Text() As String&lt;br /&gt;
        Get&lt;br /&gt;
            EnsureChildControls()&lt;br /&gt;
            Return textbox.Text&lt;br /&gt;
        End Get&lt;br /&gt;
        Set(ByVal value As String)&lt;br /&gt;
            EnsureChildControls()&lt;br /&gt;
            textbox.Text = value&lt;br /&gt;
        End Set&lt;br /&gt;
    End Property&lt;br /&gt;
&lt;br /&gt;
    Protected Overrides Sub CreateChildControls()&lt;br /&gt;
        Me.Controls.Add(textbox)&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== TitledText Box==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot; CodeFile=&amp;quot;Default.aspx.cs&amp;quot; Inherits=&amp;quot;TitledTextBoxTest&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Register TagPrefix=&amp;quot;apress&amp;quot; Namespace=&amp;quot;CustomServerControlsLibrary&amp;quot;&lt;br /&gt;
  Assembly=&amp;quot;CustomServerControls&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.1//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Untitled Page&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
        &amp;lt;apress:TitledTextBox Title=&amp;quot;Sample Title&amp;quot; ID=&amp;quot;TitledTextBox1&amp;quot; runat=&amp;quot;server&amp;quot; BackColor=&amp;quot;#FFFF80&amp;quot; Font-Size=&amp;quot;X-Large&amp;quot; Height=&amp;quot;85px&amp;quot; Text=&amp;quot;Sample Text&amp;quot; Width=&amp;quot;569px&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
File: CustomServerControls.cs&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Web;&lt;br /&gt;
using System.Web.SessionState;&lt;br /&gt;
using System.Web.UI;&lt;br /&gt;
using System.Web.UI.WebControls;&lt;br /&gt;
using System.Web.UI.HtmlControls;&lt;br /&gt;
namespace CustomServerControlsLibrary&lt;br /&gt;
{&lt;br /&gt;
  [Designer(typeof(TitledTextBoxDesigner))]&lt;br /&gt;
  public class TitledTextBox : CompositeControl&lt;br /&gt;
  {&lt;br /&gt;
    public TitledTextBox() : base()&lt;br /&gt;
    {&lt;br /&gt;
      Title = &amp;quot;&amp;quot;;&lt;br /&gt;
      Text = &amp;quot;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    protected Label label;&lt;br /&gt;
    protected TextBox textBox;&lt;br /&gt;
    &lt;br /&gt;
    public string Title&lt;br /&gt;
    {&lt;br /&gt;
      get {return (string)ViewState[&amp;quot;Title&amp;quot;];}&lt;br /&gt;
      set {ViewState[&amp;quot;Title&amp;quot;] = value;}&lt;br /&gt;
    }&lt;br /&gt;
    public string Text&lt;br /&gt;
    {&lt;br /&gt;
      get {return (string)ViewState[&amp;quot;Text&amp;quot;];}&lt;br /&gt;
      set {ViewState[&amp;quot;Text&amp;quot;] = value;}&lt;br /&gt;
    }&lt;br /&gt;
    protected override void CreateChildControls()&lt;br /&gt;
    {&lt;br /&gt;
      label = new Label();&lt;br /&gt;
      label.EnableViewState = false;&lt;br /&gt;
      label.Text = Title;&lt;br /&gt;
      Controls.Add(label);&lt;br /&gt;
      Controls.Add(new LiteralControl(&amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;));&lt;br /&gt;
      textBox = new TextBox();&lt;br /&gt;
      textBox.EnableViewState = false;&lt;br /&gt;
      textBox.Text = Text;&lt;br /&gt;
      textBox.TextChanged += new EventHandler(OnTextChanged);&lt;br /&gt;
      Controls.Add(textBox);&lt;br /&gt;
    }&lt;br /&gt;
    public event EventHandler TextChanged;&lt;br /&gt;
    &lt;br /&gt;
    protected virtual void OnTextChanged(object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      if (TextChanged != null)&lt;br /&gt;
        TextChanged(this, e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public partial class TitledTextBoxTest : System.Web.UI.Page&lt;br /&gt;
{&lt;br /&gt;
  protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>