当前位置:文档之家› AJAX CONTROL TOOLKIT 34个服务器端控件

AJAX CONTROL TOOLKIT 34个服务器端控件

AJAX CONTROL TOOLKIT 34个服务器端控件
AJAX CONTROL TOOLKIT 34个服务器端控件

Ajax Control Toolkit 34个服务器端控件

1. Accordion

【功能概述】

Accordion可以让你设计多个panel 并且一次只显示一个Panel .在页面上的显示效果就像是使用了多个CollapsiblePanels只不过每一次只展开其中一个CollapsiblePanel.Accordion控件内部包含了若干个AccordionPane,每一个AccordionPane的template里包括了对其Header和Content的定义。我们可以在后台代码中通过SelectedIndex属性取得当前展开的哪一个Panel,还可以控制哪一个Panel展开。

经常可以见到类似的效果,比如QQ、Msn好友分类的折叠效果。

【细节】

(1)不要把Accordion放在Table中而又把FadeTransitions 设置为True,这将引起布局混乱

(2) 在AccordionPane模板中的Content中可以定义任何Web元素,表现的就像一个容器

(3) AccordionPane内容模板自动改变大小有三种AutoSize modes :None(推荐) Limit Fill

(4) $find('ctl00_ContentPlaceHolder1_MyAccordion_AccordionExtender')这里找到的是Behavior.什么是Behavior呢?在https://www.doczj.com/doc/2b9584654.html, Ajax框架中包含一组动作并完成一个功能. Accordion的一个Behavior就是淡入淡出.

找到Behavior的引用,behavior.set_FadeTransitions()

behavior.get_FadeTransitions()的方式来实现具体某一个Behavior的访问和修改.

var behavior =

$find('ctl00_SampleContent_MyAccordion_AccordionExtender');这种写法是不好的,我们在自动测试的页面中发现了更好的写法:var

behavior=$find("<%= MyAccordion.ClientID %>_AccordionExtender");

【代码示意】

ContentCssClass="accordionContent" FadeTransitions="false" FramesPerSecond="40"

TransitionDuration="250" AutoSize="None">

ID="AccordionPane1" runat="server">

onclick="return false;" class="accordionLink">1. Accordion

2. AlwaysVisibleControl

【功能概述】

AlwaysVisibleControl 是一个简单的扩展控件可以让一部分内容浮动在页面上,当滚动页面或者改变浏览器大小时总是可见的。它可以扩展任意一个https://www.doczj.com/doc/2b9584654.html,

控件,并可按照要求设置水平竖直方向上的相对距离.

最多的应用是在线阅读的目录和不胜其烦的浮动小广告。

【细节】

(1)避免控件闪烁,要扩展的控件要使用absolutely position

(2)HorizontalSide="Center" VerticalSide="Top" 使用这个方式控制浮动的位置

(3)Var label =

ocument.getElementById('ctl00_SampleContent_currentTime');这行代码我

们可以使用更简单的方法:

var label = $get('ctl00_SampleContent_currentTime');

【代码示意】

代码示意:

ID="AlwaysVisibleControlExtender1" HorizontalSide="Center"

VerticalSide="Top" TargetControlID="Panel1" runat="server">

3. Animation

【功能概述】

28个控件种效果最酷的!顾名思义实现动画效果。它是一个插入式,可扩展的

框架可以方便的为你的页面添加动画效果。

【细节】

请参考页面代码阅读下面的细节内容:

(1)Sys.UI.DomElement.getLocation(b) 取得控件位置的函数,常用!!!

(2)动画分为两种:Animation Action 后者的强大让我很兴奋

(3) 顺序执行的动画脚本

(4) 并发执行的动画脚本

(5)【Action】

Attribute="opacity" value="0" /> 控制目标元素外观样式,属性--值的格式修改,一个元素可以应用多个StyleAction

(6)【Action】

AnimationTarget="ctl00_ContentPlaceHolder1_btnInfo" Enabled="true" /> 控件是否可用使用的方式跟上面是一样的,当前控件可省略AnimationTarget (7)【Action】

Script="Cover($get('ctl00_ContentPlaceHolder1_btnInfo'),

$get('flyout'));" />执行一段脚本的Action

(8) 【Action】隐藏目标的控件

(9) 【Action】 设置透明度的Action

(10)【Animation】

Duration=".2"/> 淡入淡出

(11)【Animation】

ScaleFont="true" FontUnit="px" />控制目标元素的大小但是注意:If scaleFont is true, the size of the font will also scale with the element. If center is true, then the element's center will not move as it is scaled. It is important to note that the target must be positioned (i.e. absolutely) so that settings its top/left properties will change its location in order for center to have an effect.

(12) 【Animation】 脉搏跳动效

(13)【Animation】

EndValue="#FF0000" Property="style" PropertyKey="color" /> 颜色渐变效果,设置起始结束颜色就可以

(14) 【Animation】改变元素的大小Action

(15)动画效果是在用户某一个动作发生的时候触发,触发的时机包括:OnLoad OnClick OnMouseOver OnMouseOut OnHoverOver OnHoverOut

正式版的页面文件为动画脚本添加了注释更加清晰易懂.上面列出的是常用的一些动画效果,全部资料参见Anmation Reference。

仔细阅读Animation的页面代码,其实我们已经提前触摸到了Xaml的编程风格。https://www.doczj.com/doc/2b9584654.html, Ajax之后的下一代WEB界面是WPF/E,WPF/E现在支持的

是”javascript+Xaml” 还不支持”C# + Xaml”。

下一代的WEB UI会是怎样的?下一个版本的https://www.doczj.com/doc/2b9584654.html, 会怎样安排Ajax的位置?WPF/E会不会被整合在新版本的https://www.doczj.com/doc/2b9584654.html,中呢?期待中……

【示意代码】

代码示意:

4. AutoComplete

【功能概述】

AutoComplete控件是对https://www.doczj.com/doc/2b9584654.html,文本框控件的扩展,当用户词汇前面的字母时

以弹出区域的形式给出备选词。这个功能的完成依赖于特定的Web Service。

在正式版的Ajax Control Toolkit中看到自动完成扩展控件有一种感觉:它终于出现在了它应该出现的地方。之前AutoComplete控件是在CTP版本中以核心组件的形式出现的,这个功能极为明确的控件被归类到核心组件,我还是比较迷惑。正式版中它终于成为了一个扩展控件。

Google的自动完成功能,新浪网易等信箱的收件人自动完成功能是这个功能的成功应用。

【细节】

从Atlas的版本开始,AutoComplete的使用方法就没有太大的改变,只要注意:(1)调用的Web Service方法签名有要求:

[WebMethod]

public string[] GetCompletionList(string prefixText, int count) { ... }

(2)MinimumPrefixLength最短前缀字符数,就是说你至少要键入几个字符才会

出现提示

5. Calendar

【功能概述】

Calendar同样是对文本框的扩展,当点击文本框的时候弹出日期选择选项。现

在的版本提供的功能已经和WinForm中的日期控件一样,可以通过点击日期选择,点击箭头在年月之间切换。

【细节】

(1)同样是对文本框的扩展,文本框获得焦点就会出现日期选择,样式是可以自定义的

(2)虽然一定是对文本框的扩展但是我们还是可以指定弹出按钮PopupButtonID,一旦这个值设定了,文本框获得焦点也不会弹出日期选择

(3)不需要把它放在UpdatePanel中

6. CascadingDropDown

【功能概述】

CascadingDropDown 控件是对https://www.doczj.com/doc/2b9584654.html, DropDownList control的扩展,实现对一个DropDownList操作时其它DropDownList发生相应的变化。这个功能的实现依赖于Web Service。

【细节】

(1)如果使用Web service 方法签名必须符合下面的形式:

[WebMethod]

public CascadingDropDownNameValue[] GetDropDownContents(

string knownCategoryValues, string category){...}

(2)在阅读代码的时候请关注:Category属性。官方说法The name of the category this DropDownList represents 实打开~/App_Data/CarsService.xml 你就发现这是Xml的元素标签。从这个角度我们就解决了为什么联动,即联动的本质;同时也明白了调用Service的参数约定。

【示意代码】

ServicePath="CarsService.asmx" ServiceMethod="GetDropDownContents"/>

ServiceMethod="GetDropDownContentsPageMethod"

ParentControlID="DropDownList1"/>

ServicePath="~/CascadingDropDown/CarsService.asmx"

ServiceMethod="GetDropDownContents" ParentControlID="DropDownList2"/> 另外页面上还有一段定义UpdatePanel的代码很典型,可以作为参考:

UpdateMode="Conditional" RenderMode="inline">

ControlID="DropDownList3" EventName="SelectedIndexChanged" />

7. CollapsiblePanel

【功能概述】

这个控件几乎在每一个页面上都出现了。它是非常灵活的一个控件,可以扩展任何https://www.doczj.com/doc/2b9584654.html, Panel control。在页面上轻松实现展开收缩效果。这种效果我们最熟悉的恐怕就是XP的文件任务栏了。

【细节】

(1) CollapsiblePanel 默认认为使用了标准CSS box model 早期的浏览器

要!DOCTYPE 中设置页面为自适应方式提交数据rendered in IE's

standards-compliant mode.

(2) 可以自动展开自动收缩Autoexpand="true" AutoCollapse="true"但是这

两个本身是互斥的不能同时为True;如果设置了这两个属性其中一个为True就

不要在设置Collapsed="True",这样就没有意义了。

(3) TextLabelID="Label1"这个属性有什么深意\高级的操作么?我还在研究。。。代码示意:

TargetControlID="Panel1"

CollapsedSize="0"

ExpandedSize="300"

Collapsed="True"

ExpandControlID="LinkButton1"

CollapseControlID="LinkButton1"

AutoCollapse="False"

AutoExpand="False"

ScrollContents="True"

TextLabelID="Label1"

CollapsedText="Show Details "

OpenedText="Hide Details"

ImageControlID="Image1"

ExpandedImage="~/images/collapse.jpg"

CollapsedImage="~/images/expand.jpg"

ExpandDirection="Height"/>

8. ConfirmButton

【功能概述】

这个控件是对Button和继承了Button的控件的扩展,它可以捕捉到用户点击了对话框中的“是”“否”;如果是“是”就继续执行后面的代码,反之就停止执行它默认的提交行为。

【细节】

(1) 要扩展的LinkButton Button 以及ConfirmButtonExtender都要放在updatepanel里面

如果是放在外面,点击“确定”或者“取消”之后还是会导致页面刷新!

(2)更简单的方法:this.Button1.Attributes["onclick"]="javascript:return confirm('确定要停止下载么?');";

(3) 如果是需要服务器端获取用户选择,还是使用模式弹出吧

9.DragPanel

【功能概述】

DragPanel extender可以轻松的让控件"draggability".DragPanel 扩展的目

标是任意https://www.doczj.com/doc/2b9584654.html, Panel .你可以设置拖动行为的细节,比如哪里是类似于标题栏一样的区域。

【细节】

(1) TargetControlID 要拖动的控件

(2) DragHandleID拖动的标题栏所在的ControlID 示例代码中:panel6包含panel7(标题)panel8(内容)扩展的对象是panel6

(3) 是不是发现这段JS代码了呢?如果去掉这段代码,图到页面边缘的时候是不正常的,它自己跑回原来位置了:)

【示意代码】

代码示意

10. DropDown

【功能概述】

DropDown 同样是一个https://www.doczj.com/doc/2b9584654.html, AJAX extender 可以对任何https://www.doczj.com/doc/2b9584654.html, control 进行扩展实现SharePoint-style drop-down menu效果。弹出的只不过是其它的panel或者控件而已。在IE浏览器中下拉列表总是在最前面的,的确是影响页面效果,这个控件的出现可以解决这一问题.这随时随地的弹出窗口成为WEB 2.0网站的标志性建筑,弹出的东西也越来越丰富。

【细节】

(1)TargetControlID要在什么控件上实现扩展

(2)DropDownControlID弹出来什么

(3) 示例中是对一个Label进行的扩展,我试着扩展TextBox效果更好!

【示意代码】

代码示意:

OnClick="OnSelect" />

OnClick="OnSelect" />

OnClick="OnSelect" />

DropDownControlID="DropPanel" />

还有一段代码有很多可以学习的地方:

代码示意:

runat="server"Style="padding: 5px;" />

ControlID="Option1" EventName="Click" />

ControlID="Option2" EventName="Click" />

ControlID="Option3" EventName="Click" />

ID="UpdateAnimation" runat="server" TargetControlID="Update" BehaviorID="Highlight">

Script="$find('Highlight')._onUpdated._animation._animations[1].set_t arget($get('ctl00_ContentPlaceHolder1_lblSelection'));" />

11. DropShadow

【功能概述】阴影效果

【细节】

(1)Width 单位:px 默认5px

(2)Opacity 不透明度0-1.0 默认.5

【示意代码】

代码示意:

TargetControlID="Panel1" Opacity=".8" Rounded="true" TrackPosition="true"/>

12. DynamicPopulate

【功能概述】

能实用Web Service或页面方法来动态的替换控件的内容。调用的方法返回的是一个Html的字符串,作为目标元素的子节点插入其中。

【细节】

(1)ClearContentsDuringUpdate 替换之前先清除以前的内容(默认True)

(2)PopulateTriggerControlID 触发器绑定的控件单击时触发

(3)ContextKey传递给Web Service的随机字符串

(4) Web Service方法签名必须符合下面的形式:

[WebMethod]

string DynamicPopulateMethod(string contextKey)

{...}

Note you can replace "DynamicPopulateMethod" with a naming of your choice, but the return

type and parameter name and type must exactly match, including case.

(5) 我们非常欣慰的一点就是BehaviorID="dp1",这种用法是我所期望的。

(6) CustomScript 怎么用呢??This script must evaluate to a string value. ??

【示意代码】

代码示意:

TargetControlID="Panel1"

ClearContentsDuringUpdate="true"

PopulateTriggerControlID="Label1"

ServiceMethod="GetHtml"

UpdatingCssClass="dynamicPopulate_Updating"

/>

代码示意2:

CssClass="dynamicPopulate_Normal"/> //要扩展的panel

ClearContentsDuringUpdate="true"

PopulateTriggerControlID="Label1"

TargetControlID="Panel1"

ServiceMethod="GetHtml"

UpdatingCssClass="dynamicPopulate_Updating">

13. FilteredTextBox

【功能概述】

FilteredTextBox扩展控件用来阻止用户在文本框输入无效字符。由于这种效果的实现是依赖于deactivating JavaScript(怎么翻译呢?),所以不要期望数据会发送到服务器端进行校验。

【细节】

(1)过滤条件Numbers LowercaseLetters UppercaseLetters Custom

(2)过滤条件也可以是Custom的组合FilterType="Custom, Numbers"

(3)ValidChars="+-=/*()." Custom要定义这样的有效字符串

(4)这个控件我认为是聊胜于无,我们要把允许输入的数据进行枚举,太难了。事实上,这个控件在任何状态下都是接受中文的。如果使用正则表达式情形或许好些。看它的实现代码还有进一步改进的可能,学习研究中……

【示意代码】

示意代码:

TargetControlID="TextBox3"

FilterType="Custom, Numbers"

ValidChars="+-=/*()." />

在该控件的实现代码中我发现了这样一段,这可能是一个突破口:

特殊键排除代码:

if (evt.rawEvent.keyIdentifier) {

//Safari

// Note (Garbin): used the underlying rawEvent insted of the DomEvent instance.

if (evt.rawEvent.ctrlKey || evt.rawEvent.altKey || evt.rawEvent.metaKey) {

return;

}

if

(evt.rawEvent.keyIdentifier.substring(0,2) != "U+") {

return;

}

scanCode =

evt.rawEvent.charCode;

if (scanCode == 63272 /* Delete */) {

return;

}

}

else {

scanCode = evt.charCode;

}

if (scanCode && scanCode >= 0x20 /* space */)

{

var c = String.fromCharCode(scanCode);

if(!this._processKey(c)) {

evt.preventDefault();

}

}

}

15. MaskedEdit

【功能概述】

MaskedEdit 控件是对TextBox control的扩展.用户输入会在客户端进行验证。在示例页面中,我感觉实际效果并不是太好所以没有深入学习,不多说了。

16. ModalPopup

【功能概述】

ModalPopup 扩展控件允许在页面上模式弹出内容并阻止用户和页面上其他区域的交互。模式弹出区域的样式都是可以自定义的。用户可以在模式弹出框选择OK/Cancel,对用户选择的处理方式有两种:使用客户端脚本或者PostBack到服务器端。这样我们就得到了用户的选择结果!

【细节】

(1)看下面的代码可以看到执行客户端脚本的方法。

(2)应该说这个控件是提供了一个模式弹出对话框的模板

(3)在正式版以前的所有版本,这个控件在Opear浏览器中都是不正常的。正式版已经修正这个BUG,现在正在比较学习两个版本的源代码,看看问题的原因和解决方法是什么。

【示意代码】

代码示意:

style="display:none">

确定要删除当前下载的任务么?

Text="OK" >

Text="Cancel">

runat="server"

TargetControlID="LinkButton1"PopupControlID="Panel2" BackgroundCssClass="modalBackground" DropShadow="true"

OkControlID="Button1" OnOkScript="onOk()"

CancelControlID="CancelButton" />

17. MutuallyExclusiveCheckBox

【功能概述】

互斥复选框就像RadioButton一样,应用的场景是:“a number of choices are available but only one can be chosen”

【细节】

(1)Key属性用来分组就像RdiolistGroup一样

(2)argetControlID用来绑定已有的CheckBox

【代码示意】

ID="MustHaveGuestBedroomCheckBoxEx"

TargetControlID="MustHaveGuestBedroomCheckBox"

Key="GuestBedroomCheckBoxes" />

18. NoBot

【功能概述】

提供了简单的Captcha 图灵测试用来屏蔽bot/spam 垃圾信息。是一个反垃圾信息控件。我查了一下资料,我的理解是:比如你点击一个按钮需要一秒钟的时间,而这一秒钟的时间你不可能再做其他的操作比如再点一次;这样区分出了人和机器。避免机器人自动点击注册暴力破解之类的事情

【细节】

(1)OnGenerateChallengeAndResponse 这个属性是

EventHandler 调用服务器端的方法,注意方法签名

例如:protected void CustomChallengeResponse(object sender, NoBotEventArgs e) {……}

【示意代码】

代码示意:

19. NumericUpDown

【功能概述】

实现Winform里面的Updown控件,可以自定义最大值最小值增减步长,同时还可以使用值列表或者调用Web Service来决定下一个值是什么。上下按钮的图片同样是可以自定义的。

【细节】

(1)普通整数增减

(2)值列表循环显示比如下面的第二个例子RefValues

(3)调用Web Service的格式:

TargetControlID="TextBox1" Width="100"

RefValues="January;February;March;April" TargetButtonDownID="But ton1"TargetButtonUpID="Button2"ServiceDownPath="WebService1 .asmx"

ServiceDownMethod="PrevValue"ServiceUpPath="WebService1.asmx"

ServiceUpMethod="NextValue" Tag="1" />

(4)上下按钮如果不需美化就这样使用:TargetButtonDownID=" " TargetButtonUpID=" "

【示意代码】

代码示意:

ID="NumericUpDownExtender1" runat="server"

TargetControlID="TextBox1" Width="120" RefValues=""

ServiceDownMethod="" ServiceUpMethod="" TargetButtonDownID="" TargetButtonUpID="" />

ID="NumericUpDownExtender2" runat="server"

TargetControlID="TextBox2" Width="120"

RefValues="January;February;March;April;May;June;July;August;Septembe r;October;November;December"

ServiceDownMethod="" ServiceUpMethod="" TargetButtonDownID="" TargetButtonUpID="" />

TargetControlID="TextBox4" Width="80" TargetButtonDownID="img1"

TargetButtonUpID="img2" RefValues="" ServiceDownMethod="" ServiceUpMethod="" />

20. PagingBulletedList

【功能概述】

PagingBulletedList 扩展BulletedList的分页功能并实现客户端的排序分页。这里提供的分页是相当灵活的有各种分页方法供选择。

【细节】

(1)可以控制每页最多显示多少条,是否排序

(2)IndexSize表示index headings 的字符数,如果MaxItemPerPage设置了概属性被忽略

(3)MaxItemPerPage分页每页最大条数

【示意代码】

代码示意:

ID="PagingBulletedListExtender1"

BehaviorID="PagingBulletedListBehavior1" runat="server" TargetControlID="BulletedList1"

ClientSort="true"

IndexSize="1"Separator=" -

"SelectIndexCssClass="selectIndex"

UnselectIndexCssClass="unselec tIndex" />

21. PasswordStrength

【功能】

验证密码强度,微软Live注册的时候就是用的这个效果。

【细节】

StrengthIndicatorType两种显示方式:文字提示,进度条提示。

示例中Textbox1 Textbox3都没有添加TextMode="Password" 所以在界面上我们可以输入中文;而且输入中文很快就达到较高安全度,当然这没有什么用处。【示意代码】

代码示意:

StrengthIndicatorType="Text" PreferredPasswordLength="10" PrefixText="Strength:"

HelpStatusLabelID="TextBox1_He lpLabel" TextCssClass="TextIndicator_TextBox1" TextStrengthDescriptions="Very Poor;Weak;Average;Strong;Excellent"

MinimumNumericCharacters="0" MinimumSymbolCharacters="0"

RequiresUpperAndLowerCaseCharacters="false"/>

runat="server" DisplayPosition="RightSide" TargetControlID="TextBox2"

StrengthIndicatorType="BarIndi cator" PreferredPasswordLength="15"

HelpStatusLabelID="TextBox2_HelpLabel"

BarIndicatorCssClass="BarInd icator_TextBox2" BarBorderCssClass="BarBorder_TextBox2"

MinimumNumericCharacters="1" MinimumSymbolCharacters="1"

RequiresUpperAndLowerCaseCharacters="true" />

runat="server" DisplayPosition="BelowLeft" TargetControlID="TextBox3"

StrengthIndicatorType="Text" PreferredPasswordLength="20" PrefixText="Meets Policy? " TextCssClass="TextIndicator_TextBox3"

MinimumNumericCharacters="2"

MinimumSymbolCharacters="2"

RequiresUpperAndLowerCaseCharacters="true"

TextStrengthDescriptions="No t at all;Very Low compliance;Low Compliance;Average Compliance;Good Compliance;Very High Compliance;Yes"

HelpHandleCssClass="TextIndi cator_TextBox3_Handle" HelpHandlePosition="LeftSide" />

22.PopupControl

【功能概述】

PopupControl任何控件上都可以弹出任何内容,跟HoverMenu功能类似。Popup 窗口一般是放在https://www.doczj.com/doc/2b9584654.html, AJAX UpdatePanel中, 因此它能够完成服务器端的处理之后更能新数据显示. Popup Window 可以包含任何内容包括https://www.doczj.com/doc/2b9584654.html, server controls, HTML elements, etc.

【细节】

(1)TargetControlID -The ID of the control to attach to

(2)PopupControlID -The ID of the control to display

(3)CommitProperty -属性来标识返回的值

(4) CommitScript -把返回结果值通过脚本处理,用到CommitProperty

【代码示意】

ID="PopupControlExtender2" runat="server"

TargetControlID="MessageTextBox" PopupControlID="Panel2" CommitProperty="value" CommitScript="e.value += ' -do not forget!';" Position="Bottom" />

23.Rating

【功能概述】

使用星级表示等级,鼠标操作;

【细节】

鼠标移动等级也会变,而你真正要修改还要点击一下;这是延续了WP10里面等级评定控件的传统,也许这样设计是真的有道理,我不清除。

【示意代码】

代码示意:

CurrentRating="2" MaxRating="5" StarCssClass="ratingStar" WaitingStarCssClass="savedRatingStar"

FilledStarCssClass="filledRatingStar"EmptyStarCssClass="emptyRat ingStar" OnChanged="ThaiRating_Changed" />

24.ReorderList

【功能概述】

ReorderList是一个全新的控件。它可以实现逐条列出数据并实现交互。用户简

单的拖拽就可以改变数据的排列顺序并更新到数据源。在本控件中如果SortOrderField 属性设置之后排序将自动完成。

【细节】

(1)绑定数据,拖动数据之后数据将被更新到绑定源

(2)它不是已有控件的扩展是全新的服务器端控件,只是它对Ajax行为是敏感的

(3)重排的实现有两种方式:CallBack PostBack 前者的发生在页面上是没有PostBack的(也就是没有刷新页面)

(4) 而数据添加或者编辑的时候就必须要使用PostBack来同步服务器端的数据状态

(5)PostbackOnReorder就是针对两种策略进行选择

【示意代码】

代码示意:

DragHandleAlignment="Left" ItemInsertLocation="Beginning" DataKeyField="ItemID"

SortOrderField="Priority" AllowReorder="true">

这个控件是非常独立,并且还是适用于表现Buleted的数据,二维数据就无能为例了

DataSourceID="ObjectDataSource1" 这是必须要有的!下面是它的Template框架:

CallbackCssStyle="callbackStyle"

DragHandleAlignment="Left"

ItemInsertLocation="Beginning" DataKeyField="ItemID"

SortOrderField="Priority">

25. ResizableControl

【功能概述】

就像设计状态一样可以拖动修改大小,可是有什么实际的意义么,放大字体?没有想到

【细节】

(1)HandleCssClass -The name of the CSS class to apply to the resize handle 这个属性必须要有!

(2)WEB2.0时代用户什么都是可以自定义的??难道是这个原则下的产物么??不理解

(3)在前卫的飞鸽网站上我都一直没有看到关于ResizableControl的应用,期待一个成功的应用

【示意代码】

代码示意:

TargetControlID="PanelImage"

HandleCssClass="handleImage"

ResizableCssClass="resizingImage"

MinimumWidth="50"

MinimumHeight="20"

MaximumWidth="260"

MaximumHeight="130"

OnClientResize="OnClientResizeImage"

HandleOffsetX="3"

HandleOffsetY="3" />

26. RoundedCorners

【功能】

控件圆角纯粹是控制外观的了,什么时候审美疲劳了还要改。据说GUI风格也是N年一轮回,这让我想起来了一个27KB的QQ,命令行界面,真的是这样么?穿孔纸带据说是第一代GUI,不会有一天真的回到那个时代吧?

【细节】

(1)还有一个非常非常细节的地方:你必须要设置CssClass="roundedPanel"要不然不起作用

(2) Radius设置弧度,默认是5

(3)只适用于容器WebControl

【示意代码】

代码示意:

runat="server"TargetControlID="Panel1"Radius="6" />

27. Slider

【功能概述】

实现WinForm中的Slider控件效果,新浪论坛用来分页了,还有的用来调整“时间----------|----热度”,创意!

【细节】

(1)修改文本框的值也可以影响Slider的状态

【示意代码】

代码示意:

runat="server">

Behavi orID="Slider2"

Target ControlID="Slider2"

BoundC ontrolID="TextBox1"

Orient ation="Horizontal"

Enable HandleAnimation="true"

Mini mum="0"

Maximu m="100"

/>

28. Tabs

Tabs是我认为这一次新增控件中最实用的好东东,在编码风格上与所有嵌套式的控件一样:

OnClientActiveTabChanged="ClientFunction"

Height="150px">

HeaderText="Signature and Bio">

...

Demo效果让我们很容易想到最近改版之后的网页主页和新浪主页和Accordion 比较一下各有千秋,是对经典WinForm的一种继承。

29 .TextBoxWatermark

【功能概述】

对文本框进行扩展,文本水印效果。

看了几十个WEB2.0的网站,没想到,见到最多的就是这种水印效果,看来很受欢迎。

【示意代码】

代码示意:

第六章 对话框控件

学习目标: ?掌握CommonDialog。 ?掌握文件操作相关的对话框。 ?理解打印对话框。 6.1对话框: 对话框是一种用户界面接口,用于同用户进行交互,完成一些特定的任务,简单的对话框有对用户操作进行提示的对话框,对重要操作要求用户进行决定的交互对话框等。 这类任务能被独立出来,作为通用的交互处理过程。这些能被独立出来作为通用交互过程的任务常见如下一些: (1)文件选取。 (2)保存设置。 (3)路径选取。 (4)字体选取。 (5)颜色选取。 (6)打印设置。 (7)打印预览框。 在.NET中这些组件是在https://www.doczj.com/doc/2b9584654.html,monDialog的基础上发展而来。

6.1.1Common pialog: CommonDialog是.NET中对话框组件的基础,它是System.Windows.Forms命名空间下的一个抽象类,在程序中不能直接使用。 CommonDialog公开了2个方法和一个属性,即:ShowDialog()/ShowDialog(IWin32Window)方法和Reset()方法以及Tag属性。 ShowDialog是用于显示对话框。ShowDialog()有一个重载形式:ShowDialog(IWin32Window),IWin32Window在这里指一个窗口句柄,在调用中,这个参数应该被赋值成要显示的对话框的父窗体。 注意:句柄是Window中的一个常用词语,可以把它理解为一个标识符号,只是这个标识符号是一个数字。相应的窗口句柄就是窗口的标标识符。 Reset方法: 使用过程中可能改变初始值,当需要让所有的初值回到原来的状态时,调用Reset能达到目的。 Tag属性: Tag没有具体含义,它可以让用户在对话框控件中存储、维护自己的数据。这个数据由用户自己的代码解释。 对话框的返回值(ShowDialog的返回值): 对话框通过调用ShowDialog()调用后,返回一个类型为DialogResult 值,其中DialogResult.OK指出用户成功完成了操作,成功选取了文

常用服务器端控件

常用服务器端控件 Windows控件与Web服务器控件的主要区别: Windows控件的属性、方法、事件都是在本机上执行的; Web服务器控件的属性、方法、事件则全部是在服务器端执行的。 Web应用程序的执行方式: 在Web应用程序中,用户通过客户端浏览器操作Web页面时,对Web服务器控件的每个请求都要发送到服务器端,服务器进行处理后,再将处理结果转换为客户端脚本发送到客户端显示。 https://www.doczj.com/doc/2b9584654.html,控件的基本概念 1控件分类 (1)标准控件 (2)数据控件 (3)验证控件 (4)站点导航控件 (5)WebPart控件 (6)登陆控件 基本控件 1 标签控件 2 按钮控件 3 TextBox控件 4 CheckBox控件与CheckBoxList控件 5 RadioButton控件与RadioButtonList控件 6 ListBox控件和DropDownList控件 7 Table控件 8 HiddenField控件 5.1.1 按钮控件 VS2005中有以下三种类型的按钮控件: 1.Button控件:与Windows窗体的Button控件用法相同。 2.LinkButton控件:外观与Hyperlink控件相同,但在功能上与Button控件完全相同。 3.ImageButton控件:以图片形式显示的按钮。 三种类型的按钮在鼠标单击时都可以将窗体提交给服务器,并触发服务器端对应的Click事件,然后在服务器端执行相应的事件代码。 5.1.2 TextBox控件 1. 常用的基本属性 1) AutoPostBack属性:决定控件中文本修改后,是否自动回发到服务器。该属性默认值为false, 即修改文本后并不立即回发到服务器,而是等窗体被提交后一并处理。 2) TextMode属性:用于设置文本框接受文本的行为模式。共有三种属性值:MultiLine(多行输 入模式);Password(密码输入模式);SingleLine(单行输入模式)。默认情况下,该属性为 SingleLine。 2. 常用的事件 TextChanged事件:文本框的内容发生更改导致窗体回发服务器时触发。注意,是否触发该事件与AutoPostBack属性相关。

MFC对话框程序中的各组件常用方法

MFC对话框程序中的各组件常用方法: Static Text: 将ID号改成唯一的一个,如:IDC_XX,然后进一次类向导点确定产生这个ID,之后更改Caption属性: GetDlgItem(IDC_XX)->SetWindowText(L"dsgdhfgdffd"); 设置字体: CFont *pFont = new CFont; pFont->CreatePointFont(120,_T("华文行楷")); GetDlgItem(IDC_XX)->SetFont(pFont); Edit Control: 设置文本: SetDlgItemText(IDC_XX,L"iuewurebfdjf"); 获取所有输入: 建立类向导创建一个成员变量(假设是shuru1,shuru2……)类型选value,变量类型任选。 UpdateData(true); GetDlgItem(IDC_XX)->SetWindowText(shuru1); 第一句更新所有建立了变量的对话框组件,获取输入的值。第二句将前面的IDC_XX的静态文本内容改为shuru1输入的内容。 若类型选用control: 1.设置只读属性: shuru1.SetReadOnly(true); 2.判断edit中光标状态并得到选中内容(richedit同样适用) int nStart, nEnd; CString strTemp; shuru1.GetSel(nStart, nEnd); if(nStart == nEnd) { strTemp.Format(_T(" 光标在%d" ), nStart); AfxMessageBox(strTemp); } else { //得到edit选中的内容 shuru1.GetWindowText(strTemp); strTemp = strTemp.Mid(nStart,nEnd-nStart); AfxMessageBox(strTemp); } 其中nStart和nEnd分别表示光标的起始和终止位置,从0开始。strTemp.Format 方法用于格式化字符串。AfxMessageBox(strTemp)显示一个提示对话框,其内容是字符串strTemp。 strTemp = strTemp.Mid(nStart,nEnd-nStart)返回一个被截取的字符串,从nStart开始,长度为nEnd-nStart。如果nStart == nEnd说明没有选择文本。 注:SetSel(0,-1)表示全选;SetSel(-1,i)表示删除所选。

客服端控件与服务器控件的区别

什么时候用html控件,什么时候用"标准控件"? 能不用服务器端控件尽量不用 能用html控件就不要用web控件 服务器端控件效率低 前两句同意,至于后一句, 效率上,纯 html 肯定比 runat=server 低, 对于 runat=server ,事实上 https://www.doczj.com/doc/2b9584654.html, 内部帮我们作了许许多多的工作,比如 在 asp/php/jsp 中需要 来维护两次post之间的状态而 帮我们做了这项工作,其内部也是使用Request.Form 类获取值,然后经过一系列的处理周期(https://www.doczj.com/doc/2b9584654.html,基于事件驱动) 在一个页面上,前者,只是一个字符流的输出,后者涉及对象的创建,控件层次的维护,大量相关页、控件事件同步,ViewState维护 比如必然导致额外的性能损耗,

但,它带来的是,【开发效率成倍的提升,完整的组件编程模式....】 你不必再一堆的 Request.Form 中绕,你可以引用服务器控件对应,统一的编程模型 如 1. string txt = Requst.Form["MyTextBoxClientName"]; VS string txt2 = MyTextBoxServerID.Text; 2. // js document.form1.action = "?action=delete" // aspx.cs if(Requst.QueryString["action"] == "Delete") { // 执行删除操作 ... } VS // aspx

WEB服务器控件

WEB服务器控件 编写一个WEB控件至少要包含三个元素:ASP:XXX指明是哪一类控件,ID指明控件的标识符,Ruant 指明是在服务器端运行的。如:

 

一、WEB服务器控件 2、 3 如label1.Text=”您好”; TextBox1.TextMode=TextBoxMode.SingleLine; 二、文字控件 Label用于显示文字,其最常用的属性是Text,用于显示的文字内容。 TextBox控件用于输入文字信息,WEB用于文本输入工作的只有TextBox控件,通过设置控件的TextMode属性来区分文本,密码,多行文本输入方式。注意:文本框内容是字符串类型,如果要做计算,需要作类型转换。如convert.tosingle转成单精度,或single.parse()

MultiLine多行 Pasword密码输入 Columns 以字符为单位指明文本框的显示宽度 Rows 当TextMode为MultiLine时,指明文本框的行数 MaxLength 在单行文本方式下,文本框可以输入的字符数 Wrap 当TextMode为MultiLine时,是否自动换行,默认为TRUE ReadOnly 输入框为只读,默认为FALSE DataBind 将数据源绑定到被调用的服务器控件及其所有子控件上 TextChanged 当文本框内容发生变化时,触动。 文字控件案例一(5_3):制作登录界面 控件类型ID 属性设置说明 Label Label1 Text=用户名用于显示静态文本Label Label2 Text=密码用于显示静态文本Label LblMessage Text=””用于显示提示文本或登 录信息 TexBox TxtUserName TextMode=SingleLine 用于输入用户名TexBox TxtPassWord TextMode=Password 用于输入密码 Button BtnSumit Text=提交向服务器发送登录信息Button BtnRest Text=重置清除文本框内容 { TxtUserName.Text = ""; TxtPassWord.Text = ""; LblMessage.Text = ""; } protected void BtnSumit_Click(object sender, EventArgs e) { if ((TxtUserName.Text.Trim() != "") && (TxtPassWord.Text.Trim() != "")) { LblMessage.Text = "用户名:" + TxtUserName.Text + ":" + "密码" + TxtPassWord.Text; } else if (TxtUserName.Text.Trim() == "") { LblMessage.Text = "请输入用户名"; } else { LblMessage.Text = "请输入密码"; }

4 对话框及常用控件 (第四章 对话框和常用控件)

1.什么是对话框?它分为哪两类?这两类对话框有哪些不同? 答:对话框是一种特殊的窗口,主要功能是输出信息和接收用户的输入。对话框分为有模式对话框和无模式对话框。当一个有模式对话框打开时,用户只能与该对话框进行交互,而其他用户界面对象收不到输入信息。而无模式对话框打开时,用户可以同时打开其他窗口对象,操作完毕后,又可用鼠标或其他方式激活该窗口。 2.什么是对话框模板、对话框资源和对话框类? 答:对话框模板是一个描述对话框的内存结构,用于添加控件及其布局。对话框资源指快捷键、对话框、菜单、字符串、工具栏按钮、图表、版本信息等。对话框类用于实现对话框功能。 3.对一个对话框编程一般经过几个步骤? 答:1. 在资源编辑器中画对话框,添加控件,设定控件位置、大小、ID和其它属性; 2. 定义对话框回调函数,添加控件的事件处理函数; 3. 注册对话框函数 4、什么是控件?根据控件的性质可以将控件分为几类? 答:在Windows中所用的按钮控件是用来实现一种开与关的输入。 常见按钮类型:按键按钮、单选按钮、复选框按钮。 5.向对话框添加一个常用控件的方法有哪些?这些方法是否使用于ActiveX控件? 答:1、先点击控件,然后在对话框上单击, 2、先点击控件,然后在对话框上点住不放,画出像要的大小。 否。 6.什么是DDV/DDX技术?如何使用这种技术? 答:DDX(对话框数据交换)机制用来初始化对话框中的数据,并向应用程序返回数据,它使得用户向对话框加载对象数据和当对话框关闭时恢复其中的数据这两个过程自动化。 DDV(对话框数据验证有效性)机制用于将数据返回成员变量之前将数据的长度和范围有效化。 7.什么是空间的通知消息?它在编程中起哪些作用? 答:控件消息由按钮(BN_)、编辑框(EN_)、组合框(CBN_)和列表框(LBN_)等产生。控件通过向父窗口发送控件通知消息来表明发生了某种事件。

服务器端组件安装说明

服务器端组件安装说明 一、前言 金格目前的中间件产品,基本上都是基于前后台通信的工作原理。所以服务器端都要部署一个组件(一般名称为iMsgServer2000.dll或.class),用来解析客户端发来的信息包以及封装发会给客户端的信息包。服务器端的组件根据开发语言的不同分为COM类和JAVA类两大部分,不同的开发语言和环境注册服务器端组件的方式也不相同。下面,我们介绍基于各种B/S开发语言和环境下的服务器端组件安装方法。(C/S结构的开发方式用不到服务器端组件) 二、COM组件安装 2.1 ASP ASP开发语言用到的COM组件,有两种安装方式:一是直接用Regsvr32命令方式注册;另一种是在组件管理中进行安装。 2.1.1R egsvr32命令方式注册: 在“开始”→“运行”中用“Regsvr32+空格+控件地址”进行注册:

(图2-1 打开“开始”菜单中的“运行”) (图2-2 输入注册代码) (图2-3 运行后的成功提示) 注册成功后就部署完成了。注意注册后控件的文件是不能移动的,一定要找一个不容易被删除到的目录来存放。 但是这种注册方式有一个缺点,就是权限不好控制,很有可能注册后在程序中依然引用不到而产生错误,这个时候只能用第二种方式,也就是组件服务的方式安装。 2.1.2组件服务安装 首先打开控制面板,找到“管理工具”:

(图2-4 控制面板)打开“管理工具”选择里面的“组件服务”: (图2-5 管理工具)

(图2-6 组件服务) 分别点击进入“组件服务”→“计算机”→“我的电脑”→“COM+应用程序”: (图2-7 COM+应用程序)

实验4 服务器控件的使用

实验4 服务器控件的使用 目的与要求 (1) 掌握常用的Web服务器控件的使用方法。 (2) 熟悉各控件的常用属性和方法。 (3) 掌握验证控件的使用方法。 内容和步骤 【实验题4.1】使用Web服务器控件Label、TextBox和Button,设计如图p4.1所示的页面。使用C#语言,实现基本的加减乘除运算功能,并将计算结果输出。 图4.1 实验题4.1界面 步骤如下: (1) 启动Visual Studio 2010,单击“创建:项目…”链接,即弹出“新建项目”对话窗口,左侧“项目类型”列表框选中选择“Visual C# → Web”;在“模板”列表框中选择“https://www.doczj.com/doc/2b9584654.html, Web应用程序”。定义项目名称,并设置项目存储位置。 (2) 在Design视图,从Toolbox窗口选择若干控件,设置各控件属性及布局。 (3) 编写逻辑代码: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { LabelNum1.Text = LabelNum2.Text = "0"; } } protected void getInputValue(object sender, EventArgs e) { TBResult.Text += ((Button)sender).Text; } protected void Dispose(object sender, EventArgs e) { switch (((Button)sender).Text) { case "+": LabelNum1.Text = TBResult.Text; LabelOperator.Text = "+"; TBResult.Text += LabelOperator.Text; break; case "-": LabelNum1.Text = TBResult.Text; LabelOperator.Text = "-"; TBResult.Text += LabelOperator.Text; break; case "*": LabelNum1.Text = TBResult.Text; LabelOperator.Text = "*"; TBResult.Text += LabelOperator.Text; break; case "/": LabelNum1.Text = TBResult.Text; LabelOperator.Text = "/"; TBResult.Text += LabelOperator.Text; break;

从零开始学VC系列教程 二.对话框及常用控件实验

从零开始学VC系列教程二. 对话框及常用控件实验 恭喜你,进入VC学习的第二节了.这一节是人机交互的基础.所谓人机交互,说通俗点就是与机器对话.然而我们现在的技术还不能像科幻片里一样与机器人直接说话就行了.所以,我们的操作意图还得通过文本输入,命令按钮等等来实现. 本节内容:学会对话框调用及一些常用控件的使用方法. 学习目的:学习人机交互,为软件开发提供界面基础. 1.新建工程.参考第一节的方法新建一个工程,名字为Eg02完成后如下图 细心的朋友一定会发现.新建的工程里还有一个对话框,ID名是IDD_ABOUTBOX这个是做什么用的呢?我们用到的软件都会有一个版权声明.通过第一章的学习,大家应该知道怎么观看这个IDD_ABOUTBOX对话框了吧.没错!双击IDD_ABOUTBOX就可以了.我们会看到如下的一个对话框 这就是我们这个程序的关于对话框,一般用于版权声明及版本号标识.大家看到的这个对话框里有两个静态文本框和一个图像框(Picture),静态文本框我们在前一节已经介绍过了.大家可以修改一下版权所有这一行,填什么都可以,签个大名也行.完成以后你一定想看看效果,这个对话框怎么打开呢?其实VC已经为我们做好了.先按F7编译,然后按F5运行.大家可以看到

程序运行了. 单击应用程序图标,就会出现一个菜单,选最后一个[关于Eg02],关于对话框就弹出来了. 当然,这是系统为我们做好的.自己怎么在程序中调用这个对话框呢?为了演示,首先参考第一节的内容添加一个按钮,然后把按钮的ID改为IDC_BTN_ABOUTME,把标题,也就是Caption 改为[关于].最终效果如下 下面我们为按钮添加代码.相信大家一定还记得怎么进入代码吧..对了,双击[关于]按钮,在弹出的对话框中点[确定]就可以了.为了让大家更好的理解下面的操作,我们先要解释一下关于对话框的类.VC向导会为关于对话框建立一个类,大家看看下面的图

6 Web服务器端控件

第一章Web服务器端控件 本章介绍常用的Web服务器端控件的属性、事件和方法,以及用Web服务器端控件编制服务器端动态网页的方法。 10.1 常用的https://www.doczj.com/doc/2b9584654.html,服务器端控件 10.1.1 Label控件 Label控件用如下方法定义: 或者 标签控件 下边介绍其常用的属性: ●属性Text:显示的文本 ●属性ForeColor 文本的颜色,颜色可以取:红色=System.Drawing.Color.Red。黑色= System.Drawing.Color.Black等等。 ●字体的属性:黑体为Font.Bold=true,斜体为Font.Italic=true等等。 ●属性BackColor:背景色 ●属性id:相当Windows应用程序中控件的Name属性,用来区分不同对象。 ●属性sp:Label:表示本控件是Label控件。 ●属性runat=server表示次控件运行在服务器段,由Web服务器解释。 10.1.2TextBox控件 Label控件用如下方法定义: 常用的属性如下: ●属性:Text 显示的文本 ●属性:TextMode=SingleLine 为编辑框,TextMode=MultiLine 为多行编辑框,可以 有滚动条。TextMode=PassWord 为口令编辑框。 ●属性:MaxLength 编辑框和口令编辑框时,允许输入的最多字符数。 ●属性:Rows 多行编辑框时表示行数 ●事件TextChanged:控件中文本发生变化。 10.1.3 Button、LinkButton和ImageButton控件 Button控件已介绍过了,Text为按钮的标题,单击事件为:Click。

Web服务器控件

《10.3Web服务器控件》 主题: (1)Web服务器控件简述 Web服务器控件具有以下特性: ●功能丰富的对象模型,该模型具有类型安全编程功能。由于Web服务器控件是 https://www.doczj.com/doc/2b9584654.html,框架全新封装提供的新控件,因此其具有严格的类型安全检查。 ●自动浏览器检测。Web服务器控件可以检测浏览器的功能,并为基本型和丰富型 (HTML 4.0或以上) 浏览器创建适当的输出。 ●对于某些控件,可以使用模板来自定义控件的外观。 ●对于某些控件,可以指定控件的事件是立即发送到服务器,还是先缓存然后在提交 窗体时引发。 ●可将事件从嵌套控件(例如表中的按钮)传递到容器控件。 在设计时的“HTML”视图中,显示在页中的控件的格式如下: (2)HTML服务器控件与Web服务器控件的区别 HTML服务器控件与Web服务器控件的区别: (3)Web服务器控件的公共属性 1.System.Web.UI.WebControls.WebControl类的属性 System.Web.UI.WebControls.WebControl 类是System.Web.UI.WebControls 命名空间中的所有控件的基类。 ●AccessKey属性:表示用于快速定位到Web 服务器控件的访问键。默认为空,表

示不设置该属性 ●BackColor属性:表示Web 服务器控件的背景色,默认为空,表示不设置该属性。 ●BorderColor属性:表示Web 控件的边框颜色,默认为空,表示不设置该属性。●BorderStyle属性:表示Web 服务器控件的边框样式,默认为NotSet,其取值为下 列值之一: ?NotSet 不设置边框样式。 ?None 无边框 ?Dotted 虚线边框。 ?Dashed 点划线边框。 ?Solid 实线边框。 ?Double 双实线边框。 ?Groove 用于凹陷边框外观的凹槽状边框。 ?Ridge 用于凸起边框外观的突起边框。 ?Inset 用于凹陷控件外观的内嵌边框。 ?Outset 用于凸起控件外观的外嵌边框。 ●BorderWidth属性:表示Web 服务器控件的边框宽度,默认为空,表示不设置该属 性。 ●Enabled属性:表示是否启用Web 服务器控件。 ●Font属性:表示Web 服务器控件关联的字体属性。 ●ForeColor属性:表示Web 服务器控件的前景色(通常是文本颜色)。 ●Height属性:表示Web 服务器控件的高度。 ●Style属性:包含要在Web 服务器控件的外部标记上呈现的HTML 样式属性 ●TabIndex属性:Web 服务器控件的选项卡索引。默认为0,表示不设置此属性 ●ToolTip属性:表示当鼠标指针悬停在Web 服务器控件上时显示的文本。 ●Width属性:表示Web 服务器控件的宽度。 2.其他的常用属性 ●ID属性:继承自System.Web.UI.Control类,所有Web服务器控件都可以通过该属 性来唯一标识和引用。 ●Text属性:所有接受用户输入,显示数据和提示数据的Web服务器控件都可以通 过Text属性来表示用于在控件上显示的文本,例如TextBox、Lablel、Button、CheckBox等控件。 ●AutoPostBack属性:所有发送窗体或单击按钮时将其数据回传到服务器的Web控 件都具有AutoPostBack属性,该属性是布尔类型。表示当用户修改控件中的文本并使焦点离开该控件时,是否向服务器自动回送。True表示每当用户更改文本框中的文本并使焦点离开该控件时,都会向服务器自动回送,否则为false。默认为false。 ●EnableViewState属性:继承自System.Web.UI.Control类,此属性用于定义控件的

文档控件服务器端组件安装说明

服务器端组件安装使用说明 1、前言 中间件产品,基本上都是基于前后台通信的工作原理。所以服务器端都要部署一个组件(文档控件名称为iDocServer.dll),用来解析客户端发来的信息包以及封装发回给客户端的信息包。服务器端的组件根据开发语言的不同分为COM类和JA V A类两大部分,不同的开发语言和环境注册服务器端组件的方式也不相同。下面,我们介绍基于各种B/S开发语言和环境下的服务器端组件安装方法。(C/S结构的开发方式用不到服务器端组件) 2、COM组件安装 服务器组件的安装有3中方式,注册表安装、组件服务安装、安装包安装,其中安装包是通过组件服务安装获得。 2.1 Regsvr32命令方式注册: 该方法通过regsvr32程序把控件的信息注册到注册表中,具体实现步骤如下: 在“开始”→“运行”中用“Regsvr32+空格+控件地址”进行注册: (图2-1 打开“开始”菜单中的“运行”)

(图2-2 输入注册代码) (图2-3 运行后的成功提示) 注册成功后就部署完成了。注意注册后控件的文件是不能移动的,一定要找一个不容易被删除到的目录来存放。 但是这种注册方式有一个缺点,就是权限不好控制,很有可能注册后在程序中依然引用不到而产生错误,这个时候只能用第二种方式,也就是组件服务的方式安装。 2.2 组件服务安装 服务器组件安装需要进行几个步骤,先进行基础组件的安装,安装完成之后再进行验证,如果验证过程中出现了错误提示,则需进行修正工作,最后服务器组件还可以打包成安装包程序,供下次使用。 2.2.1基本安装 首先打开控制面板,找到“管理工具”:

(图2-4 控制面板)打开“管理工具”选择里面的“组件服务”: (图2-5 管理工具)

{推荐}安装说明服务器端组件安装说明

安装说明服务器端组件安装说明

服务器端组件安装说明 一、前言 金格目前的中间件产品,基本上都是基于前后台通信的工作原理。所以服务器端都要部署一个组件(一般名称为iMsgServer2000.dll或.class),用来解析客户端发来的信息包以及封装发会给客户端的信息包。服务器端的组件根据开发语言的不同分为COM类和JAVA 类两大部分,不同的开发语言和环境注册服务器端组件的方式也不相同。下面,我们介绍基于各种B/S开发语言和环境下的服务器端组件安装方法。(C/S结构的开发方式用不到服务器端组件) 二、COM组件安装 2.1ASP ASP开发语言用到的COM组件,有两种安装方式:一是直接用Regsvr32命令方式注册;另一种是在组件管理中进行安装。 2.1.1Regsvr32命令方式注册: 在“开始”→“运行”中用“Regsvr32+空格+控件地址”进行注册: (图2-1打开“开始”菜单中的“运行”)

(图2-2输入注册代码) (图2-3运行后的成功提示) 注册成功后就部署完成了。注意注册后控件的文件是不能移动的,一定要找一个不容易被删除到的目录来存放。 但是这种注册方式有一个缺点,就是权限不好控制,很有可能注册后在程序中依然引用不到而产生错误,这个时候只能用第二种方式,也就是组件服务的方式安装。 2.1.2组件服务安装 首先打开控制面板,找到“管理工具”:

(图2-4控制面板) 打开“管理工具”选择里面的“组件服务”:

(图2-5管理工具) (图2-6组件服务) 分别点击进入“组件服务”→“计算机”→“我的电脑”→“COM+应用程序”:

对话框常用控件实验报告

对话框常用控件实验报告 班级:电气工程与自动化2班 学号:06120902 姓名: 嘎日玛盖

Ⅰ内容和要求: 一,对话框常用控件实验要求: 1 控件的消息映像 2控件与关联变量的数据处理 二,对话框常用控件实验步骤: 1步骤 2效果 3执行效果截图 4问题的解决方法 三,对话框常用控件实验的内容: 1编辑框 2静态文本 3单选框 4复选框 Ⅱ实验步骤 1.新建一个工程,选择MFC AppWizard(exe)的项目类型,输入项目名:heiha,结果如图1: 选择单文檔类型。 2.新建一个菜单“正式开始工作”,在其下面建立新选项“提交档案”,设其ID为ID_MENU_TIJIAO,如图2:

钮、复选按钮和普通按钮: m_NAME、m_XINGBIE和m_AIHAO。

5.利用MFC ClassWIzard在Cfirst类中添加IDOK按钮的BN_CLICKED消息映像,并添加下列代码。 UpdateData(true); m_NAME=m_NEIRONG; UINT AID=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO2); GetDlgItemText(AID,m_XINGBIE); CString str,strCtrl; UINT nCheckIDs[7]={IDC_CHECK1,IDC_CHECK2,IDC_CHECK3,IDC_CHECK4,IDC_CHEC K5,IDC_CHECK6,IDC_CHECK7}; CButton *p; for(int i=0;i<7;i++) { p=(CButton*)GetDlgItem(nCheckIDs[i]); if(p->GetCheck()){ GetDlgItemText(nCheckIDs[i],strCtrl); str=str+strCtrl; str=str+" ";} } m_AIHAO=str; UpdateData(false); 6. 利用MFC ClassWIzard在CMainFrame类中添加对应新建菜单按钮“提交档案”选项ID 的COMMEND消息映像,并添加下列代码。 Cfirst da; da.DoModal(); Ⅲ实验结果 最终执行效果图为如下:

MFC 对话框和常用教程

第五章对话框和常用控件 对话框是Windows应用程序中最重要的用户界面元素之一,是与用户交互的重要手段,在程序运行过程中,对话框可用于扑捉用户的输入信息或数据。对话框是一个特殊类型的窗口,任何对窗口进行的操作(如:移动、最大化、最小化等)都可在对话框中实施,一般来说,在对话框中通过各种控件(如:按钮、编辑框、列表框、组合框等)来和用户进行交互。控件是在系统内部定义的用于和用户交互的基本单元。 一、对话框的使用 Visual C++提供的对话框编辑器能“可视”地进行设计、编辑,并可用 ClassWizard为对话框从CDialog基类中派生一个类,MFC的CDialog类封装了用于对话框的显示、关闭等操作的许多功能函数,例如:DoModal函数用来显示模式对话框并返回用户操作的结果。 1、模式对话框(为186附加举例页) 所谓模式对话框是指,当对话被弹出时,用户必须在对话框中进行相应的操作,在退出对话框之前,对话框所在的应用程序不能继续执行。平常我们所见到的对话框大多是模式对话框。 例:模式对话框(通过菜单命令弹出) 1)建一个单文档(SDI)应用程序 2)创建对话框模板 Insert→Resource→选中Dialog→单击New 拖过一个静态文本,鼠标对准它,按右键点properties改标题为“新建模式对话框”。 3)鼠标右键对准对话框的任何位置单击,选择properties选项,设置ID为IDD_MYDIALOG 4)给对话框创建类 双击新建对话框的任何位置,单击OK,写类名为“CMyDlg”,保 证”CDialog”作为该类的基类。 5)创建菜单命令: a)打开资源编辑器的菜单项Menu b)双击IDR_MAINFRAME c)双击右边空白菜单,点开pop_up(让它是空白),在名字处写”弹出对话框(&A)”,ID 处写ID_PUPDIALOG 6)将菜单命令连接到主框架程序中,完成ID_PUPDIALOG的消息映射:View→ClassWizard→保证Class name里是CMainFrame,在ObjectIDs 里找到ID_PUPDIALOG点黑→Messages里(右边)点COMMAND建立主框架对象方法并加代码: void CMainFrame::OnPupdialog() { CMyDlg MyDlg; MyDlg.DoModal(); //DoModal()是CDialog类成员函数,通过调用该 //函数将显示对话框。 } 7)在CMainFrame.cpp文件里加: #include “MyDlg.h”// 之后运行。 2、无模式对话框(为186附加页) 非模式对话框,弹出后,可一直保留在屏幕上,用户可继续在应用中进行其它操作或启动其它应用程序,当需要使用对话框时,只需象激活一般窗口一样激活对话框即可。

VC++6.0入门【第六章 创建和使用对话框】

第6章创建和使用对话框 对话框是一种用户界面,几乎每一个Windows程序都使用对话框与用户进行交互。对话框可能是一个简单的只含有OK按钮的消息框,也可以是一个复杂的数据输入表单。对话框上有一些方便用户输入的控件,对话框依靠这些控件与用户进行交互,其实质是一个接收消息的窗口。 在本章节我们主要讲述模式对话框和无模式对话框的原理和使用方法,下一章将详细介绍各种控件的使用。你将学习创建一个对话框,使用对话框模板编辑一个对话框资源,并在程序中调用对话框的方法。 6.1 对话框的基本原理 6.1.1 对话框的工作原理 在创建一个对话框之前,我们先来了解一下对话框是如何工作的,对话框的数据来自三方面:对话框资源、对话框对象、和一个文档对象: 1.对话框资源 对话框资源是一个用户输入或取得数据的图形界面。这个图形界面是使用Develop Studio的对话框编辑器在对话框模板上创建的,程序员可以在对话框模板上增加并编辑控件,生成对话框资源。当应用程序运行时,就可以得到一个对话框。 2.对话框对象 MFC使用CDialog类来描述对话框,它是CWnd类的派生类。在CWnd类的基础上增加了数据交换的功能。当创建一个新的对话框资源后,使用ClassWizard可以创建一个对话框类的派生类。对话框对象实现了对话框和应用程序之间的通信。在应用程序中定义一个对话框对象后,在对话框显示前,可以通过访问对话框对象的成员变量为一个对话框的控件初始化,在对话框关闭后,可以通过访问对话框对象的成员变量获得用户的输入数据。 3.文档对象 MFC使用文档对象描述应用程序处理的数据,用户输入的数据要进一步的处理,通常要先存贮到文档对象中。例如:一个学生记录处理的应用程序,用户通过一个对话框输入学生记录并贮存到一个文件中。应用程序的处理顺序是:用户在对话框中输入信息,通过对话框对象得到输入信息,将输入信息整理到文档对象中,使用序列化函数将文档对象存贮到一个文件中,所以文档对象扮演了一个很重要的数据交换的角色。 MFC使用以上三者实现用户与应用程序之间数据交换,数据交换流程见图6-1所示,遵循四个步骤。

VB常用控件介绍

VB常用控件介绍 (一)标签的常用属性 1、Name:名称。默认为Label1。 2、Caption:标签显示的文字。 3、Font:设置显示文字的性质。 4、Backcolor:背景色 5、Visible:设置标签是否可见 (二)命令按钮的常用属性 1、Name:默认值为Command1 2、Caption:按钮上显示文字。 3、Visible:设置按钮是否可见。 (三)窗体的常用属性 1、Name:定义对象的名称,默认为Form1,可以在属性窗口更改,运行时不可改。(注:与Caption区别) 2、BackColor:设置窗体的背景色 属性窗口:①调色盘选择颜色②输入16进制值 3、Caption:窗体标题栏中显示的文字。 4、Font:设置窗体字体类型。 5、Height(高)、Width(宽):设置窗体大小。 6、StartUpPosition:设置窗口位置。 (四)文本框常用属性 1、Name:默认为Text1,可修改为以Txt为前缀的名称。 2、Text:显示在文本框中的文字。 3、MaxLength:设置输入字符串的长度限制。 4、PassWordChar:设置输入密码时用户输入的字符。 (五)驱动器列表框常用属性 1、Name:名称。默认为Drive1。 2、Drive: 驱动器列表框中的驱动器名。 (六)目录列表框常用属性 1、Name:名称。默认为Dir1。 2、Path: 返回或设置当前路径。

(七)目录列表框常用属性 1、Name:名称。默认为File1。 2、Path: 返回或设置当前路径。 (八)操作对话框控件常用属性(进行诸如打开和保存文件,设置打印选项,以及选择颜色和字体等操作) 1、Name:名称。默认为CommonDialog1。 2、ShowOpen:显示“打开”对话框。 3、ShowSave显示“另存为”对话框。 4、ShowColor显示“颜色”对话框。 5、ShowFont显示“字体”对话框。 6、ShowPrinter显示“打印”或“打印选项”对话框。 7、ShowHelp 调用 Windows 帮助引擎。 (九)菜单的制作: 1、菜单编辑器的使用: “工具”/“菜单编辑器” 2、菜单的创建: (1)“标题”:输入菜单项文本(相当于Caption) (2)“名称”:输入菜单项名称,编程用。(相当于Name) (3)降低可上升一个层次 改变菜单项顺序 复选:可多选,左边加上√有效:是否可用(Enabled) 可见:是否可见(Visible) (4)单击“下一个”或“插入”,建立下一个菜单 (5)确定 3、菜单分组: 分隔线作为一个菜单项,“标题”中输入“-”(连字符,并角),“名称”任意。 4、访问键设置: 使用:Alt+字母 设置:“标题”中,字母前加“&” 5、快捷键设置: 在列表中选择相应的快捷键。 (1)第一级菜单无快捷键 (2)同一菜单的子菜单中不能有相同的访问键和快捷键

相关主题
文本预览
相关文档 最新文档