■作成手順
[1] [追加]-[新しい項目]-[Web]-[Webユーザコントロール]で、「追加」押下
[2] 自分好みのサーバコントロールを配置し、保存する
■イベントの付加
Public Event SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Private Sub SelectIndex(ByVal sender As Object, ByVal e As EventArgs) Handles 【コントロールID】.SelectedIndexChanged
RaiseEvent SelectedIndexChanged(sender, e)
End Sub
サンプル(Webユーザコントロールを使う側)
Private Sub showCategory(ByVal sender As Object, ByVal e As EventArgs) Handles 【コントロールID】.SelectedIndexChanged
'【処理】
End Sub
参考文献
http://www.atmarkit.co.jp/fdotnet/vblab/vb2005m_10/vb2005m_10_04.html
■サンプル (ASP.NET AJAX Control Toolkitのカレンダー&MaskedEditを組み合わせたTextBoxをWebユーザコントロールとして保管)
WebUserControl1.ascx
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="WebUserControl1.ascx.vb" Inherits="VBTestSite.WebUserControl1" %>
<asp:Panel ID="Panel1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<ajaxToolkit:MaskedEditExtender ID="TextBox1_MaskedEditExtender" runat="server"
CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder=""
CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder=""
CultureThousandsPlaceholder="" CultureTimePlaceholder="" Enabled="True"
Mask="9999/99/99" MaskType="Date" TargetControlID="TextBox1"
UserDateFormat="YearDayMonth">
</ajaxToolkit:MaskedEditExtender>
<ajaxToolkit:CalendarExtender ID="TextBox1_CalendarExtender" runat="server"
Enabled="True" TargetControlID="TextBox1" PopupButtonID="ImageButton1"
Format="yyyy/MM/dd">
</ajaxToolkit:CalendarExtender>
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/Images/Calendar_scheduleHS.png"
onclientclick="return false;" />
</asp:Panel>
WebUserControl1.ascx.vb
Public Class WebUserControl1
Inherits System.Web.UI.UserControl
' Textプロパティの定義
Public Property Text As String
Get
Return Me.TextBox1.Text
End Get
Set(value As String)
Me.TextBox1.Text = value
End Set
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
End Class