关于自定义控件问题!希望控件高手能进来相助,苯苯感激不尽!

hackate hackate 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近在学组件开发,买了本<深入剖析组件设计>的书,然后现在边学边做到NumberEditor这个控件这,卡住了。不知道怎么弄,老是不行啊。特郁闷,所以把代码,发过来,大家看看,谢谢,有三个页代码。麻烦耐心看下,谢谢啦!
以下为:HotTrackStyle.vb类代码

Imports System
Imports System.Text
Imports System.ComponentModel
Imports System.Drawing
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace hackate
Public Class HotTrackStyle
Implements IStateManager

Private _enabled As Boolean = False
Private _marked As Boolean = False

Private _color As Color = Color.Black
Private _backgroundcolor As color = color.White
Private _bordercolor As Color = Color.Black
Private _borderstyle As BorderStyle = BorderStyle.NotSet
Private _borderwidth As Unit = Unit.Pixel(1)

Private _nonFocusColor As Color
Private _nonFocusBackgroundColor As Color
Private _nonFocusBorderColor As Color
Private _nonFocusBorderStyle As BorderStyle
Private _nonFocusBorderWidth As Unit

Private Const HT_JS_GUID = "{E4D52305-E153-4e6b-8DBE-A17F2FC991F5}"
Private Const HT_JS_Script = "<script language='javascript' SRC='/aspnet_client/hackate.net/hottrack.js'></script>"
Private Const Script_Begin = "<script language='javascript'>"
Private Const Script_End = "</script>"
Private Const HT_JS_Content = "var {0}_obj = new HotTrackObject(document.all['{0}'],""{1}"",""{2}"",""{3}"",""{4}"",""{5}"");"

<DefaultValue(GetType(color), "Black"), NotifyParentProperty(True)> _
Public Property Color() As color
Get
Return _color
End Get
Set(ByVal Value As color)
_color = Value
End Set
End Property

<DefaultValue(GetType(color), "White"), NotifyParentProperty(True)> _
Public Property BackgroundColor() As color
Get
Return _backgroundcolor
End Get
Set(ByVal Value As color)
_backgroundcolor = Value
End Set
End Property

<DefaultValue(GetType(Color), "Black"), NotifyParentProperty(True)> _
Public Property BorderColor() As Color
Get
Return _bordercolor
End Get
Set(ByVal Value As Color)
_bordercolor = Value
End Set
End Property

<DefaultValue(System.Web.UI.WebControls.BorderStyle.NotSet), NotifyParentProperty(True)> _
Public Property BorderStyle() As BorderStyle
Get
Return _borderstyle
End Get
Set(ByVal Value As BorderStyle)
_borderstyle = Value
End Set
End Property

<DefaultValue(GetType(Unit), "1px"), NotifyParentProperty(True)> _
Public Property BorderWidth() As Unit
Get
Return _borderwidth
End Get
Set(ByVal Value As Unit)
_borderwidth = Value
End Set
End Property

<DefaultValue(False), NotifyParentProperty(True)> _
Public Property Enabled() As Boolean
Get
Return _enabled
End Get
Set(ByVal Value As Boolean)
_enabled = Value
End Set
End Property

Public Overridable Sub AddScriptRender(ByVal htpage As Page)
If Not htpage.IsClientScriptBlockRegistered(HT_JS_GUID) Then
htpage.RegisterClientScriptBlock(HT_JS_GUID, HT_JS_Script)
End If
End Sub

Public Overridable Sub AddAttributesToRender(ByVal writer As HtmlTextWriter, ByVal ClientID As String)
If _enabled Then
writer.AddAttribute("onmousemove", ClientID + "_obj.NotActive(true)")
writer.AddAttribute("onmouseout", ClientID + "_obj.NotActive(false)")

writer.AddAttribute("onfocus", ClientID + "_obj.Active(true)")
writer.AddAttribute("onblur", ClientID + "_obj.Active(false)")
End If
End Sub

Public Overridable Sub Render(ByVal writer As HtmlTextWriter, ByVal htcontrol As Control)
writer.WriteLine(Script_Begin)
writer.WriteLine(HT_JS_Content, htcontrol.ClientID, ColorTranslator.ToHtml(_color), ColorTranslator.ToHtml(_backgroundcolor), ColorTranslator.ToHtml(_bordercolor), _borderstyle.ToString, _borderwidth.ToString)
writer.WriteLine(Script_End)
End Sub

#Region "实现ViewState接口"
Public ReadOnly Property IsTrackingViewState() As Boolean Implements System.Web.UI.IStateManager.IsTrackingViewState
Get
Return _marked
End Get
End Property

Public Sub LoadViewState(ByVal state As Object) Implements System.Web.UI.IStateManager.LoadViewState
Dim o As Object() = CType(state, Object())
_enabled = CType(o(0), Boolean)
_color = CType(o(1), Color)
_backgroundcolor = CType(o(2), Color)
_bordercolor = CType(o(3), Color)
_borderstyle = CType(o(4), BorderStyle)
_borderwidth = CType(o(5), Unit)
_nonFocusColor = CType(o(6), Color)
_nonFocusBackgroundColor = CType(o(7), Color)
_nonFocusBorderColor = CType(o(8), Color)
_nonFocusBorderStyle = CType(o(9), BorderStyle)
_nonFocusBorderWidth = CType(o(10), Unit)
End Sub

Public Function SaveViewState() As Object Implements System.Web.UI.IStateManager.SaveViewState
Dim o(11) As Object
o(0) = _enabled
o(1) = _color
o(2) = _backgroundcolor
o(3) = _bordercolor
o(4) = _borderstyle
o(5) = _borderwidth
o(6) = _nonFocusColor
o(7) = _nonFocusBackgroundColor
o(8) = _nonFocusBorderColor
o(9) = _nonFocusBorderStyle
o(10) = _nonFocusBorderWidth
Return o
End Function

Public Sub TrackViewState() Implements System.Web.UI.IStateManager.TrackViewState
_marked = True
End Sub
#End Region

Public Sub New()

End Sub
End Class
End Namespace
...全文

相关推荐

增强型PID-自适应-前馈-神经网络控制研究(Matlab代码实现)

内容概要:本文系统研究了“增强型PID-自适应-前馈-神经网络控制”复合控制策略,结合Matlab代码与Simulink仿真模型,深入探讨了传统PID控制与智能控制算法的深度融合方法。该策略通过引入自适应机制和前馈补偿,结合BP神经网络进行非线性系统建模与参数优化,并融合扩展卡尔曼滤波(EKF)等状态估计技术,提升控制系统在复杂动态环境下的响应速度、鲁棒性和控制精度。研究涵盖双闭环控制架构设计、神经网络训练流程、EKF状态融合等关键技术环节,适用于电机控制、电力电子变换器、无人机、微电网等高阶非线性系统的建模与仿真。配套资源丰富,包含多个可复现的Simulink模型、Matlab代码及参考文献,尤其支持高水平EI期刊成果的复现与验证。; 适合人群:具备自动控制理论基础和Matlab/Simulink仿真能力,从事控制工程、电气自动化、电力电子或智能系统研发的研究生、科研人员及工作1-3年以上的工程技术人员; 使用场景及目标:①深入研究先进PID控制策略在非线性系统中的优化应用;②实现神经网络与经典控制算法的协同设计与联合仿真;③开展状态估计、参数辨识与智能控制策略的实验验证;④复现并拓展高水平学术论文中的控制方法,支撑科研创新与项目开发; 阅读建议:建议结合提供的Matlab代码与Simulink仿真模型进行实践操作,重点剖析控制结构设计逻辑、神经网络训练过程及EKF状态估计的实现细节,按照文档说明逐步调试与优化,以全面掌握复合控制系统的建模、仿真与性能评估方法。

欢多天天写代码

MATLAB项目,模拟曲柄滑块机构的运动学和动力学.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

海神之光

基于MATLAB的Abel反演和Fowler–Milne诊断研究对HyperFill TWGMAW-P进行了电波形分析。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

海神之光

【带状电容器计算用于电容式触摸传感器应用】半数值模型的电容式触摸传感器集成于金属基材涂层中研究(Matlab代码实现)

内容概要:本文针对集成于金属基材涂层中的电容式触摸传感器,提出了一种用于带状电容器电容计算的半数值模型,并基于Matlab平台实现了仿真分析。该模型结合解析方法与数值计算,采用有限差分法求解二维泊松方程,精确模拟传感器在金属背景下的电场分布,有效克服了金属基底对电容信号的屏蔽与干扰问题,显著提升了触摸检测的灵敏度与稳定性。研究系统探讨了传感器的几何结构、介电层材料特性、电极尺寸及间距等关键参数对电容响应的影响机制,建立了完整的建模流程与仿真框架,为高性能、高抗干扰能力的电容式触控器件在智能家居、工业控制面板及复杂电磁环境下的实际应用提供了理论支撑与技术路径。; 适合人群:具备电磁场与电磁波、数值计算方法基础,熟悉Matlab编程,从事传感器设计、人机交互技术开发、电子器件仿真及相关领域研究的科研人员、工程师及研究生。; 使用场景及目标:①面向金属表面集成的电容式触摸传感器进行高精度建模与性能优化;②为智能家电、工业设备等人机接口的触控模块提供抗干扰设计与仿真验证方案;③支撑相关科研课题的理论分析、算法开发与原型系统验证。; 阅读建议:学习者应结合提供的Matlab代码深入理解半数值建模的具体实现过程,重点掌握有限差分法在电场求解中的应用技巧,并可通过调整传感器结构参数与材料属性开展对比仿真,进而探究各因素对灵敏度的影响规律,全面提升对电容式传感机制的理解与工程化设计能力。

然哥依旧

aerosonde-fc-hybrid-uav-sim-main.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

海神之光
评论 18
收藏 已收藏
分享
返回顶部
hackate
.NET社区 62,274 成员 668,968 内容