Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

Max Pro

 
Название:

WebCustomControl - видоизменённый CheckBox, у которого вместо галочки картинка - нажата/отжата

Дата: 10 March 2005
Описание: При использовании в другом контроле возможно потребуется вызов MyBase.CreateChildControls() в контексте Protected Overrides Sub CreateChildControls(). Как всегда желаю приятной работы. 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=132]WebCustomControl - видоизменённый CheckBox, у которого вместо галочки картинка - нажата/отжата[/CODEPOST]
Оценка: Проголосовало 2 посетителей, средняя оценка 4.50
Оценить:
  1 REM Тут используются яваскрипты на движение и нажатие мыши.
  2 'function filterGroupClick (sChkId, sImgId) {
  3 '	if (sChkId.checked) {
  4 '	sChkId.checked = false
  5 '	sImgId.src = "/img/group.gif"
  6 '	}
  7 '	else {
  8 '	sChkId.checked = true
  9 '	sImgId.src = "/img/groupIn.gif"
 10 '	}
 11 '}
 12 '
 13 'function filterGroupMouseOver (oThis) {
 14 '	oThis.src = "/img/groupOut.gif"
 15 '}
 16 '
 17 'function filterGroupMouseOut (oThis, sChkId) {
 18 '	if (sChkId.checked) {
 19 '	oThis.src = "/img/groupIn.gif"
 20 '	}
 21 '	else {
 22 '	oThis.src = "/img/group.gif"
 23 '	}
 24 '}    
 25     Public Class CheckImage
 26         Inherits WebControl
 27         Private oCheckBox As New CheckBox
 28         Private oImage As New System.Web.UI.WebControls.Image
 29 
 30         REM Конструктор - значения по-умолчанию.
 31         Public Sub New()
 32             Checked = False
 33         End Sub
 34 
 35         REM Свойство контрола
 36         <Description("Определяет включение/выключение")> _
 37         Public Property Checked() As Boolean
 38             Get
 39                 Return oCheckBox.Checked
 40             End Get
 41             Set(ByVal Value As Boolean)
 42                 oCheckBox.Checked = Value
 43             End Set
 44         End Property
 45 
 46         REM Формирование дочерних элементов
 47         Protected Overrides Sub CreateChildControls()
 48             Me.Controls.Clear()
 49             oCheckBox.Style.Add("display", "none")
 50             Controls.Add(oImage)
 51             Controls.Add(oCheckBox)
 52             oImage.Attributes.Add("onmouseover", "filterGroupMouseOver(this)")
 53             oImage.Attributes.Add("onmouseout", "filterGroupMouseOut(this," & oCheckBox.ClientID & ")")
 54             oImage.Attributes.Add("onclick", "filterGroupClick(" & oCheckBox.ClientID & ",this)")
 55         End Sub
 56 
 57         REM Сохранение Viewstate-а
 58         Public Overrides ReadOnly Property Controls() As System.Web.UI.ControlCollection
 59             Get
 60                 Me.EnsureChildControls()
 61                 Return MyBase.Controls
 62             End Get
 63         End Property
 64 
 65         REM Регистрация JavaScript
 66         Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)
 67             MyBase.OnPreRender(e)
 68             'If (Not Page.IsClientScriptBlockRegistered("JSControls")) Then
 69             Page.RegisterClientScriptBlock("JSControls", "<script language=""javascript"" type=""text/javascript"" src=""/Script/Controls.js""></script>")
 70             'End If
 71             If oCheckBox.Checked Then
 72                 oImage.ImageUrl = "/img/groupIn.gif"
 73             Else
 74                 oImage.ImageUrl = "/img/group.gif"
 75             End If
 76         End Sub
 77     End Class
 78 
Вернуться к списку исходников в категории Создание элементов управления
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта