17.1.2Wizard控件(1)
Wizard控件远比MultiView控件更富魅力。它同样支持每次显示几个视图中的一个,但它还包含一系列自定义的内建行为,包括导航按钮、带有分步链接的侧栏、样式和模板。
通常,向导表示一个任务,用户在其间进行线性移动,从当前步骤前进到下一步(或者在做更正时退回到上一步)。https://www.doczj.com/doc/1c3346550.html,的Wizard控件还支持非线性导航,也就是说,它允许你根据用户提供的信息忽略某些步骤。
默认情况下,Wizard控件提供导航按钮并在左边提供一个带有每个步骤链接的侧栏。设置Wizard.DisplaySideBar属性为false可以隐藏侧栏。一般情况下,当需要强制线性导航并阻止用户跳离固定的次序时,会用到这样的设置。你可以用任意的HTML控件或https://www.doczj.com/doc/1c3346550.html, 控件来提供每一步骤的内容。图17-4显示了Wizard的编辑区域,你可以向已生成的Wizard实例添加内容。
1. 向导步骤
在https://www.doczj.com/doc/1c3346550.html,里创建向导,只需用
表17-2向导步骤属性
属性描述
Title
步骤的描述性名称。这个名称用在侧栏
作为链接显示的文字
Step Type
步骤的类型,它的值来自WizardStepType枚举。
这个值确定要为这个步骤显示的导航按钮的类型。
可选项包括Start(显示Next按钮)、Step
(显示Next和Previous按钮)、Finish
(显示Finish和Previous按钮)、Complete
(不显示按钮,如果启用了侧栏也会把它隐藏)、
Auto(步骤的类型按它在集合中的位置推断)。
默认值是Auto,它表示第一个步骤是Start,
最后一个步骤是Finish ,所有其
他步骤是Step
Allo wReturn 表示用户是否可以重新回到这
一步。如果为false ,
用户通过这一步之后,就再也不
能返回这里。
侧栏里的链接对这个步骤不起
作用,它的下一
步骤的Previous 按钮要么跳过
这一步,要么彻底
隐藏(依赖于前一个步骤设置的
AllowReturn 值)
下面的向导包括四个步骤,它们一起组成一个问卷。问卷结束时添加了Complete 步骤,它显示一些汇总信息。导航按钮和侧栏链接是自动加入的。
图17-5显示了向导步骤。
和MultiView控件不同,在Visual Studio页面的设计界面里你每次只能看到一个步骤。从智能标签里选择你要设计的步骤,如图17-6所示。不过要注意--每次这样做的时候,Visual Studio会把Wizard.ActiveStepIndex改成当前你选择的步骤。运行应用程序前一定要把它设为0,这样向导才会从第一步开始。
注解请记住,当你往向导的步骤中加入控件时,无论是哪一步骤,控件总会在视图状态中被实例化并持久化。如果你希望简化复杂的向导,需要把它们分解到几个单独的页面里,使用Server.Transfer()方法从一个页面跳转到另一个,但同时要忍受一个并不美观的编程模型。
7.1.2Wizard控件(2)
2. 向导事件
你可以编写响应几个事件(如表17-3所示)的代码来增强你的向
导。
表17-3向导事件
事件描述
ActiveStep Changed
控件切换到一个新步骤时发生(也许是
因为用户单击了导航按钮,也可能是因
为代码修改了ActiveStepIndex属性)
CancelButt onClick
Cancel按钮被单击时发生。默认情况下不
会显示Cancel按钮,但你可以设置
Wizard.DisplayCancelBut ton属性
把它添加到每一个步骤。通常,单击Cancel
按钮会退出向导。如果你不需要执
行任何清理代码,只要设置CancelDestinationPageU rl属性,
向导就会自动执行重定向
FinishButt
onClick
Finish按钮被单击时发生
NextButto nClick和
在任意步骤中,当Next按钮或Previous按
钮被单击时发生。不过,因
PreviousB uttonClick 为有不止一种
方式可以从一个步骤跳到下一个,所以最
好是处理ActiveStepChanged事件
SideBarBut tonClick
侧栏区域里的按钮被单击时发生
总体而言,有两种类型的向导编程模型。
逐步提交。如果每个向导步骤包含一个不可回撤的原子操作,就应该采用逐步提交。例如,如果你处理的订单信息涉及信用卡授权,在这之后是最终的购买,你就不能允许用户回退到上一步重新编辑信用卡号。要支持这种模型,就需要把某些或所有步骤的AllowReturn 属性设为false,并且响应ActiveStepChanged事件为每个步骤提交变更。
最后提交。如果向导的每个步骤是为最后要执行的操作收集数据,就应该使用最后提交。例如,你正在收集用户信息并在获得所有信息后创建一个新账号,用户就很可能在整个过程中做一些修改。你在向导结束时通过响应FinishButtonClick事件来执行创建新账号的代码。
要为当前示例实现最后提交,只要响应FinishButtonClick事件即可。下例在汇总信息里显示了用户的所有选择:
要让这段代码正常工作,你必须加入一个叫做lblSummary的Label控件。在本例中,lblSummary被放置在最后的汇总步骤中。
提示如果你希望知道用户在向导里执行的是哪一个步骤,可以使用Wizard.GetHistory()方法。它返回目前已经被访问的WizardStepBase对象集合,按时间反向排序。也就是说,集合的第一项代表前一个步骤,第二项代表前一个步骤之前的那一个,等等。
3. 向导样式和模板
毫无疑问,Wizard控件最强大的功能是允许你定制外观。也就是说,如果你想要用基本模型(带有导航按钮和各种事件的多步过程),就不会受限于默认的用户界面。
根据你希望对向导外观修改程度的不同,你有不同的选择。对于
不大的修改,可以设置各种最上层的属性。例如,和其他https://www.doczj.com/doc/1c3346550.html, 控件一样,你可以控制颜色、字体、空格以及边框样式。你还可以调整每个按钮的外观。例如,要修改Next按钮,可以使用这些属性:StepNextButtonType(使用按钮、链接或可单击的图片)、StepNextButtonText(定制按钮或链接的文字)、StepNextButtonImageUrl(设置用于图片按钮的图片)、StepNextButtonStyle(使用样式表里的样式)。你还可以通过HeaderText属性添加标题。
利用样式可获得更多控制。就像你可以用样式格式化富数据控件(如GridView)的各个部分那样,你也可以用样式格式化Wizard 控件的各个部分。表17-4列出了你可以使用的样式。和其他基于样式的控件一样,样式冲突时,较具体的样式设置(如SideBarStyle)会覆盖一般的样式设置(如ControlStyle)。类似地,在第一个步骤里,StartNextButtonStyle会覆盖NavigationButtonStyle。
表17-4向导样式
样式描述
ControlStyle作用于Wizard控件的所有
区域
HeaderStyle作用于Wizard控件的标题
区域,它只在你
设置了HeaderText属性后
可见
SideBarStyle作用于Wizard控件的侧栏
区域
SideBarButton
Style
只作用于侧栏里的按钮
StepStyle作用于控件中你定义步骤
内容的区域
NavigationStyl e
作用于控件的底部显示导航按钮的区域
NavigationButt onStyle
只作用于导航区域的导航按钮
StartNextButto nStyle
作用于第一个步骤里的“下一步”导
航按钮(StepType为Start 时)
StepNextButto nStyle
作用于中间步骤的“下一步”导航按钮
(StepType为Step时)
StepPreviousB uttonStyle
作用于中间步骤的“上一步”导航按钮
(StepType为Step时)
FinishPrevious ButtonStyle
作用于最后一个步骤的“上一步”导航按钮(StepType为Finish时)
CancelButtonS tyle
如果你把Wizard.DisplayCancelButto n
设为true,它作用于“取消”按钮
最后,如果不能通过属性和样式达到你期望的自定义级别,还可以借助模板完全定义Wizard控件的外观。通常,你只会为步骤的内容提供标记(如图17-1所示)。通过使用模板,你还可以为其他区域提供标记,如标题、侧栏或者按钮。所有的模板都是独立于步骤内容而声明的。图17-7显示了Wizard控件中适合使用模板的地方。
表17-5显示了模板的完整列表。
表17-5向导模板
样式描述
HeaderTempla te
定义标题区域的内容
SideBarTempla te
定义侧栏,它通常包含
每个步骤的导航链接
StartNavigatio定义第一
个步骤的导航按钮
nTemplate
(当StepType 为Start 时)
StepNavigatio
nTemplate 定义中间步骤的导航按钮
(
当StepType 为Step
时)
FinishNavigati
onTemplate 定义最后一个步骤的导航按钮
(
当StepType 为Finish 时)
例如,下面这个标题模板使用数据绑定表达式显示当前步骤的标题:
还可以加入下列模板来定制导航按钮。这个示例保留了标准按钮(通过显式声明)并加入了一些斜体文字,这样你可以看到每个模板
什么时候在使用。
使用模板的秘决在于确保使用正确的命令名,这样Wizard控件可以关联到标准逻辑。否则,你将不得不自己实现导航和排序的代码,它们冗长且易出错。例如,单击一个命令名为MoveNext的按钮,会自动跳转到下一步。如果你不太确信要使用什么样的命令名,可以借助一个方便的快捷方式。在Visual Studio里选中Wizard控件,从智能标签中选择某个生成模板的链接,比如"转换为StartNavigationTemplate",此时Visual Studio会插入一个模板,
这个模板会重现默认的按钮外观和行为。
注解可以毫无问题地在Wizard里使用验证控件。如果验证控件发现了无效数据,它们将阻止用户单击侧栏的所有链接(跳到其他步骤里)并防止用户单击"下一步"按钮继续操作。不过,默认情况下"上一步"按钮的CausesValidation属性被设置为false,也就是说用户将被允许回到前一个步骤。如果这不是你希望的行为,那么可以创建自己的自定义模板并相应地设置控件的CausesValidation属性。
砼框架结构设计手算步骤 一.确定结构方案与结构布置 1.结构选型是否选用框架结构应先进行比较。根据何广乾的模糊评判法,砼结构8~18层首选框剪结构,住宅、旅馆则首选剪力墙。对于不需要电梯的多层采用框架较多。 2.平面布置注意L,l,l’,B的关系。 3.竖向布置注意高宽比、最大高度(分A、B两大类,B类计算和构造有更严格的要求),力求规则,侧向刚度沿竖向均匀变化。 4.三缝的设置按规范要求设置,尽量做到免缝或三缝合一。 5.基础选型对于高层不宜选用独立基础。但根据国勤兄的经验,对于小高层当地基承载力标准值300kpa 以上时可以考虑用独基。 6.楼屋盖选型 高层最好选用现浇楼盖 1)梁板式最多的一种形式。有时门厅,会议厅可布置成井式楼盖,其平面长宽比不宜大于1.5,井式梁间距为2.5~3.3m,且周边梁的刚度强度应加强。采用扁梁高度宜为1/15~1/18跨度,宽度不超过柱宽50,最好不超过柱宽。 2)密肋梁方形柱网或接近方形,跨度大且梁高受限时常采用。肋梁间距1~1.5m,肋高为跨度的1/30~1/20,肋宽150~200mm。 3)无梁楼盖地震区不宜单独使用,如使用应注意可靠的抗震措施,如增加剪力墙或支撑。 4)无粘结预应力现浇楼板一般跨度大于6m,板厚减薄降低层高,在高层中应用有一定技术经济优势。在地震区应注意防止钢筋端头锚固失效。 5)其他 二.初步确定梁柱截面尺寸及材料强度等级 1.柱截面初定分抗震和非抗震两种情况。对于非抗震,按照轴心受压初定截面。对于抗震,Ac=N/(a*fc) N=B*F*Ge*n B=1.3(边柱),1.2(等跨中柱),1.25(不等跨中柱)Ge=12~15kN/m2 a为轴压比fc为砼抗压强度设计值F为每层从属面积n为层数。框架柱上下截面高度不同时,每次缩小100~150为宜。为方便尺寸标注修改,边柱一般以墙中心线为轴线收缩,中柱两边收缩。柱截面与标号的变化宜错开。 2.梁截面初定梁高为跨度的1/8~1/14,梁宽通常为1/2~1/3梁高。其余见前述。对于宽扁梁首先应注意满足挠度要求,否则存在梁板协调变形的复杂内力分析问题。梁净跨与截面高度之比不宜小于4。框架梁宽不宜小于1/2柱宽,且不小于250mm。框架梁的截面中心线宜与柱中心线重合,当必须偏置时,同一平面内的梁柱中心线间的偏心距不宜大于柱截面在该方向的1/4。 3.砼强度等级一级现浇不低于C30,其余不低于C20。 三.重力荷载计算 1.屋面及楼面永久荷载标准值分别计算各层 2.屋面及楼面可变荷载标准值 3.梁柱墙门窗重力计算 4.重力荷载代表值=自重标准值+可变荷载组合值+上下各半层墙柱等重量 可变荷载组合值系数:雪、屋面积灰为0.5,屋面活荷载不计,按实际考虑的各楼面活荷载为1。将各层代表值集中于各层楼面处。 四.框架侧移刚度计算 计算梁柱线刚度,计算各层D值,判断是否规则框架。分别计算框架纵横两个方向。 五.计算自振周期 T1=(0.6或0.7)X1.7Xsqrt(Ut) Ut___假想把集中在各层楼面处的重力荷载代表值作为水平荷载而算得的结构顶点位移。0.6或0.7为考虑填充墙的折减系数。对于带屋面局部突出的房屋,Ut应取主体结构顶点位移,而不是突出层位移。此时将
框架结构设计步骤及要点 1. 结构设计说明: 主要是设计依据,抗震等级,人防等级,地基情况及承载力,防潮抗渗做法,活荷载值,材料等级,施工中的注意事项,选用详图,通用详图或节点,以及在施工图中未画出而通过说明来表达的信息。如混凝土的含碱量不得超过3kg/m3等等。 2. 各层的结构布置图:包括: (1).预制板的布置(板的选用、板缝尺寸及配筋)。标注预制板的块数和类型时, 不要采用对角线的形式。因为此种方法易造成线的交叉, 宜采用水平线或垂直线的方法, 相同类型的房间直接标房间类型号。应全楼统一编号,可减少设计工作量,也方便施工人员看图。板缝尽量为40, 此种板缝可不配筋或加一根筋。布板时从房间里面往外布板, 尽量采用宽板, 现浇板带留在靠窗处, 现浇板带宽最好≥200(考虑水暖的立管穿板)。如果构造上要求有整浇层时, 板缝应大于60。整浇层厚50, 配双向φ6250, 混凝土C20。纯框架结构一般不需要加整浇层。构造柱处不得布预制板。地下车库由于防火要求不可用预制板。框架结构不宜使用长向板,否则长向板与框架梁平行相接处易出现裂缝。建议使用PMCAD的人工布板功能布预制板,自动布板可能不能满足用户的施工图要求,仅能满足定义荷载传递路线的要求。 (2).现浇板的配筋(板上、下钢筋,板厚尺寸)。板厚一般取120、140、160、180四种尺寸或120、150、180三种尺寸。尽量用二级钢包括直径φ10(目前供货较少)的二级钢,直径≥12的受力钢筋,除吊钩外,不得采用一级钢。钢筋宜大直径大间距,但间距不大于200,间距尽量用200。(一般跨度小于6.6米的板的裂缝均可满足要求)。跨度小于2米的板上部钢筋不必断开,钢筋也可不画,仅说明钢筋为双向双排钢筋多少上下钢筋间距宜相等,直径可不同,但钢筋直径类型也不宜过多。顶层及考虑抗裂时板上筋可不断,或50%连通,较大处附加钢筋,拉通筋均应按受拉搭接钢筋。板配筋相同时,仅标出板号即可。一般可将板的下部筋相同和部分上部筋相同的板编为一个板号,将不相同的上部筋画在图上。当板的形状不同但配筋相同时也可编为一个板号。应全楼统一编号。当考虑穿电线管时,板厚≥120,不采用薄板加垫层的做法。电的管井电线引出处的板,因电线管过多有可能要加大板厚至180(考虑四层32的钢管叠加)。宜尽量用大跨度板,不在房间(尤其是住宅)加次梁。说明分布筋为φ8200。板顶标高不同时,板的上筋应分开或倾斜通过。现浇挑板阳角加辐射状附加筋(包括墙上的阳角)。现浇挑板阴角的板下宜加斜筋。顶层应建议甲方采用现浇楼板,以利防水,并加强结构的整体性及方便装饰性挑沿的稳定。外露的挑沿、雨罩、挑廊应每隔10~15米设一10mm的缝,钢筋不断。尽量采用现浇板,不采用予制板加整浇层方案。卫生间做法可为70厚+10高差(取消垫层)。8米以下的板均可以采用非预应力板。L、T或十字形建筑平面的阴角处附近的板应现浇并加厚,双向双排配筋,并附加45度的4根16的抗拉筋。现浇板的配筋建议采用PMCAD软件自动生成,一可加快速度,二来尽量减小笔误。自动生成楼板配筋时建议不对钢筋编号,因工程较大时可能编出上百个钢筋号,查找困难,如果要编号,编号不应出房间。配筋计算时,可考虑塑性力重分布,将板上筋乘以0.8~0.9的折减系数,将板下筋乘以1.1~1.2的放大系数。值得注意的是,按弹性计算的双向板钢筋是板某几处的最大值,按此配筋是偏于保守的,不必再人为放大。支承在外圈框架梁上的板负筋不宜过大,否则将对梁产生过大的附加扭距。一般:板厚>150时采用φ10200;否则用φ8200。PMCAD生成的板配筋图应注意以下几点:1.单向板是按塑性计算的,而双向板按弹性计算,宜改成一种计算方法。 2.当厚板与薄板相接时,薄板支座按固定端考虑是适当的,但厚板就不合适,宜减小厚板支座配筋,增大跨中配筋。 3.非矩形板宜减小支座配筋, .资料. . .
MSComm控件提供了两种处理通信的方式:一种为事件驱动方式,该方式相当于一般程序设计中的中断方式。当串口发生事件或错误时,MSComm控件会产生OnComm事件,用户程序可以捕获该事件进行相应处理。本文的两个例子均采用该方式。另一种为查询方式,在用户程序中设计定时或不定时查询 MSComm控件的某些属性是否发生变化,从而确定相应处理。在程序空闲时间较多时可以采用该方式。 常用属性和方法 利用MSComm控件实现计算机通信的关键是理解并正确设置MSComm控件众多属性和方法。以下是MSComm控件的常用属性和方法: ●Commport:设置或返回串口号。 ●Settings:以字符串的形式设置或返回串口通信参数。 ●Portopen:设置或返回串口状态。 ●InputMode:设置或返回接收数据的类型。 ●Inputlen:设置或返回一次从接收缓冲区中读取字节数。 ●InBufferSize:设置或返回接收缓冲区的大小,缺省值为1024字节。 ●InBufferCount:设置或返回接收缓冲区中等待计算机接收的字符数。 ●Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。 ●OutBufferSize:设置或返回发送缓冲区的大小,缺省值为512字节。 ●OutBufferCount:设置或返回发送缓冲区中等待计算机发送的字符数。 ●Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。 ●Rthreshold:该属性为一阀值。当接收缓冲区中字符数达到该值时,MSComm 控件设置Commevent属性为ComEvReceive,并产生OnComm事件。用户可在OnComm 事件处理程序中进行相应处理。若Rthreshold属性设置为0,则不产生OnComm 事件。例如用户希望接收缓冲区中达到一个字符就接收一个字符,可将Rthreshold设置为1。这样接收缓冲区中接收到一个字符,就产生一次OnComm 事件。 ●Sthreshold:该属性亦为一阀值。当发送缓冲区中字符数小于该值时,MSComm 控件设置Commevent属性为ComEvSend,并产生 OnComm事件。若Sthreshold 属性设置为0,则不产生OnComm事件。要特别注意的是仅当发送缓冲区中字符数小于该值的瞬间才产生 OnComm事件,其后就不再产生OnComm事件。例如Sthreshold设置为3,仅当发送缓冲区中字符数从3降为2时,MSComm控件设置 Commevent属性为ComEvSend,同时产生OnComm事件,如发送缓冲区中字符始终为2,则不会再产生OnComm事件。这就避免了发送缓冲区中数据未发送完就反复发生OnComm事件。 ●CommEvent:这是一个非常重要的属性。该属性设计时无效,运行时只读。一旦串口发生通信事件或产生错误,依据产生的事件和错误,MSComm控件为CommEvent属性赋不同的代码,同时产生OnComm事件。用户程序就可在OnComm 事件处理程序中针对不同的代码,进行相应的处理。 CommEvent属性的代码、常数及含义参见表1及表2。 表1 CommEvent通信事件代码常数含义 1 ComEvReceive 接受到Rthreshold个字符。该事件将持续产生,直到用Input 属性从接受缓冲区中读取并删除字符。 2 ComEvSend 发送缓冲区中数据少于Sthreshold个,说明串口已经发送了一些
栏目结构图(品牌形象站与餐吧服务展示站)
公司网站整体风格: 充分体现限公司的特点,以大气、直观、高档、新颖的个性化设计展现公司的品牌形象与主营产品,以求与贵公司网络营销和市场定位达成一致,符合企业形象标准和行业特色,充分展示企业实力和产品特点,展示企业产品营销的风采,能够捕捉客户的需求,双向交流,使客户在网站中充分发表见解,并加以吸收,并从中挖掘潜在的客户,结合行业特色和公司特点,打造一个全新的,符合公司现有发展趋势的网站。 (一)我们的设计宗旨 塑造客户良好的公司知名品牌形象;进行互联网招商引资,扩大销售网络及经 营渠道。 提高宣传力度;完善公司销售管理,增强公司内外部交流。 体现客户的独特风格;最大限度的发挥站点的实用性和美观性。 采用各种先进的数据库以提高公司网站的管理性、灵活性及方便性,并通过网站更好的实现公司信息化与无纸化办公。 首页:设计精美,形式新颖,利用FLASH动感的表达公司的产品内涵。充分体现贵公司的公司实力及品牌形象,大方,得体,不落俗套,给人耳目一新的感觉。. 网站内容包括公司公司介绍、产品展示、网上招聘、新闻动态、下载中心、留言版等栏目,根据贵公司的背景,详尽的介绍贵公司的情况。文字图片相结合形势展现,这样从气势上让人感觉是一个非常有实力的公司。此模块有采用“公司信息系统”完成,前台可实现信息的浏览、查找,后台可方便添加、删除、栏目维护(可添加图片)
网站建设费模块
人才招聘系统实现招聘单位在线发布、修改、删除人才招聘信息,招聘信息和在线注册简历、人才简历对不同服务对象有权限限制。为求职者提供职位人才信息订阅和详细人才信息查询等个性化增值服务。设有一个专门的人才库。 浏览统计分析系统记录网站和公司产品流览量及点击率并分析出每个上网者来源(可分析出IP地址的来访国家、地区、访问页面、停留时间、用的浏览器等) 时间安排: 网站建设进度及实施过程 项目实施方法 我们项目实施方法中的五个基本阶段是:1 规划定义:已完备
.NET控件详解 (2011-07-2022:44:33) 转载 标签:it分类:C#语言 微软的.net控件详解,没有那个比这个更权威的了网址: https://www.doczj.com/doc/1c3346550.html,/QuickStartv20/aspnet/doc/ctrlref/standard/multiview. aspx 参考资料: https://www.doczj.com/doc/1c3346550.html,/QuickStartv20/aspnet/doc/ctrlref/standard/multiview. aspx 网易学院:https://www.doczj.com/doc/1c3346550.html,/special/000915SN/stvs2005.html 参考资料:https://www.doczj.com/doc/1c3346550.html,/tianine5/blog/item/1470aa35f46bad8aa61e1285.html .NET控件命名规范 备注 控件名称简写(前 缀) Label lbl标签 TextBox txt文本框 Button btn按钮 LinkButton lnkbtn
ImageButton imgbtn ListBox lst列表框DropDownList ddl DataGrid dg DataList dl CheckBox chk CheckBoxList chklst RadioButton rdo单选按钮RadioButtonList rdolst Image img图片Panel Pnl-面板Calender cal AdRotator ar Table tbl RequireFieldValidator rfv CompareValidator cv RangeValidator rv RegularExpressionValidatorrev ValidatorSummary vs CrystalReportViewer rptvew ComboBox cbo组合框
C#编写COM组件 1、新建一个类库项目 2、将Class1.cs改为我们想要的名字 问是否同时给类改名,确定
3、修改Properties目录下面的AssemblyInfo.cs ComVisible属性设置为True 4、项目菜单->MyLib属性 找到“生成”选项卡 往下看,找到“为COM Interop 注册”勾上
5、继续往下,找到“签名”选项卡 勾上“为程序集签名” 在下面的下拉框里面选择“<新建...>” 6、在弹出的对话框里面,输入MyLib。。或者随便取个名字 去掉使用密码保护文件的选项 7、开始编码,任何一个公开的类,必须有一个I开通的接口定义C# code
using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace MyLib { [ComVisible(true)] [Guid("2CBD3D76-35F1-4f9d-9C1B-9DBFEE412F76")] public interface IMyClass { void Initialize(); void Dispose(); int Add(int x, int y); } [ComVisible(true)] [Guid("EA2F140A-108F-47ae-BBD5-83EEE646CC0D")] [ProgId("MyLib.MyClass")] public class MyClass : IMyClass { public void Initialize() { //nothing todo } public void Dispose() { //nothing todo } public int Add(int x, int y) { return x + y; } } }
设计说明: 一、建模前的准备工作: 1、确定结构体系: 根据设计任务,本工程为一五层建筑,采用全钢筋混凝土框架结构,底层至顶层全部采用现浇楼板。 2、结构尺寸估算: 根据建筑图中的开间、进深及层高,结合各楼层采用的砼强度等级及受荷情况,根据设计规范及构造要求可以估算基本构件尺寸(单位:mm ) A 、柱:本工程可取400×400mm 。 B 、梁: 主梁:128 L h L ≥≥; 32h b h ≥ ≥; 本工程根据图纸得5700/12=475《h 《5700/8=712.5,取 h=600mm,b=300mm 次梁:1812 L h L ≥≥; 32h b h ≥ ≥; 本工程根据图纸得4200/18=233《h 《4200/12=350,取 h=350mm,b=200mm 悬挑梁:一般取为悬臂长的1/6, C 、板: 40/;80L h mm h ≥≥,本工程可取120mm ; 3、确定荷载 A 、楼面恒载(包括楼板自重): 一层~五层楼面:4KN/m 2,卫生间:3.5KN/m 2,楼梯间:5.5KN/m 2, 屋面:6KN/m 2,
B、楼面活载: 一层~五层楼面:2.0KN/m2,卫生间:2.0KN/m2,楼梯间:2.0KN/m2, 阳台:2.5KN/m2 不上人屋面:0.5KN/m2, C、墙荷载: 外横墙:9.4KN/m 外纵墙:4.0KN/m 内墙:6.0KN/m 女儿墙:4 KN/m 4、确定结构标准层和荷载标准层 根据建筑图及所采用的结构体系进行标准层划分,本工程根据建筑图及荷载情况,可分为3个结构标准层,2个荷载标准层。 三个结构标准层: 第一标准层为▽3.000楼板,层高4000(1000+3000=4000); 第二标准层为▽6.000、9.000、12.000楼板,层高均为3000; 第三标准层为▽15.000屋面板,层高3000。 二个荷载标准层: 第一标准层楼面恒载:4KN/m2,活载:2.0KN/m2, 第二标准层屋面恒载:6KN/m2,活载:0.5KN/m2, 二、结构建模基本步骤: 1、执行PMCAD主菜单1建筑模型与荷载输入 A、建立和生成网格,根据所给建筑图建立第一结构标准层的轴线 可用正交轴网进行,然后进行轴线命名
IDispatch 接口for vc6.0 作者:杨老师 下载源代码 一、前言 终于写到了第九回,我也一直期盼着写这回的内容耶,为啥呢?因为自动化(automation)是非常常用、非常有用、非常精彩的一个COM 功能。由于WORD、EXCEL 等OFFICE 软件提供了“宏”的功能,就连我们使用的VC开发环境也提供了“宏”功能,更由于HTML、ASP、JSP 等都要依靠脚本(Script)的支持,更体现出了自动化接口的重要性。 如果你使用vc6.0 的开发环境,请继续阅读。 如果你使用https://www.doczj.com/doc/1c3346550.html, 2003,请阅读下一回。 二、IDispatch接口 如果是编译型语言,那么我们可以让编译器在编译的时候装载类型库,也就是装载接口的描述。在第七回文章当中,我们分别使用了#include 方法和#import 方法来实现的。装载了类型库后,编译器就知道应该如何编译接口函数的调用了---这叫“前绑定”。但是,如果想在脚本语言中使用组件,问题就大了,因为脚本语言是解释执行的,它执行的时候不会知道具体的函数地址,怎么办?自动化接口就为此诞生了---“后绑定”。 自动化组件,其实就是实现了IDispatch 接口的组件。IDispatch 接口有4个函数,解释语言的执行器就通过这仅有的4个函数来执行组件所提供的功能。IDispatch 接口用IDL 形式说明如下:(注1) [ object, uuid(00020400-0000-0000-C000-000000000046), // IDispatch 接口的 IID = IID_IDispatch pointer_default(unique) ] interface IDispatch : IUnknown { typedef [unique] IDispatch * LPDISPATCH; // 转定义IDispatch * 为 LPDISPATCH HRESULT GetTypeInfoCount([out] UINT * pctinfo); // 有关类型库的这两个函数,咱们以后再说 HRESULT GetTypeInfo([in] UINT iTInfo,[in] LCID lcid,[out] ITypeInfo ** ppTInfo);
大部分框架网页出现在后台,管理系统的界面 制作步骤: 方法一:新建html ,插入--html-框架-选择其中一项 方法二:自定义框架 ①直接拖动边框可实现增加框架页面 ②反之也可以删除框架页面 ③按住ALT+SHIFT可实现选择其中的一个框架页面操作,可以拖拽其中的一个页 面 托错了,为什么撤销不了,是因为没有选中最外围的框架,即大框架 注意保存顺序: 保存的时候会保存四张页面,但是你要弄清楚保存的是哪个页面,为避免保存时不清楚那个是哪个的问题,保存的时候要能够给框架页面起名字不会无法在主框 架页嵌入不了页面,先保存三张内页,再保存框架页,以上两个保存顺序最好不要 颠倒 如何给框架命名:①在窗口---框架打开框架视图,这时的框架在程序的右下角; ②在框架视图上点击要命名的框架页,再在属性框架名称上输入框架名称,再在编 辑区域上相应的地方点击刚才命名的框架就好。 想要边框完全消失,就要设置边框为0,想要边框固定,那就框架四个页面都为否,想要页面不滚动,那就将框架的页面的滚动设置为否 框架页内部实现的超级链接,给要在显示的区域框架起名字,id =in和name=in