文档库 最新最全的文档下载
当前位置:文档库 › C#.netactive控件

C#.netactive控件

C#.netactive控件
C#.netactive控件

C#开发active插件!

先说说ActiveX的基本概念。

根据微软权威的软件开发指南MSDN(Microsoft Developer Network)的定义,ActiveX 插件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB 网页或其它应用程序中。

ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持的网络中,COM变成了分布式COM (DCOM)。在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX 网络(现在的网络主要包括Windows和Mac)中任意运行的程序。这个组件就是ActiveX 近控件。ActiveX是Microsoft为抗衡Sun Microsystems的JAVA技术而提出的,此控件的功能和JAVA applet功能类似。

目前支持ActiveX的主要是IE浏览器。

以前ActiveX开发普遍使用VC++或VB,随着C#和.net的发布,用C#开发ActiveX控件变得更方便、更简单。但需要注意的是用C#开发的ActiveX控件需要客户机装有.net framework,有点郁闷。可是相对.net强大的功能良好的易用性,这点牺牲还是值得的,况且现在好多计算机已经安装有.net framework了。

其实.net下的winform控件也是可以直接嵌入到web网页里的,但是由于.net安全性的限制,无法在客户端实现复杂的操作,比如磁盘空间操作和注册表操作。因为ActiveX控件是以本地用户的身份运行,可以突破.net安全性的限制,所以开发ActiveX控件还是很必要的。

C#写ActiveX控件的原理很简单,就是使用了.net平台和COM的互操作性。修改项目属性的目的就是将.net控件注册为com。这样,你就可以把这个控件完全当作ActiveX控件来对待了。比如,可以使用JS和VBS来调用,也可以使用C++来调用。

下面一步步来实现C#写ActiveX控件。

第一部分:用vs2008制作一个winForm控件

用vs2008建立一个新的“windows窗体控件库”命名为“WindowsFormsControlLibrary1”如下图

点击确定后,将UserControl1.cs更名为demo.cs。向界面里添加一个Labal、一个TextBox 和一个Button,相应的修改控件属性。如下图:

为button1添加Click事件,代码如下:

private void button1_Click(object sender, EventArgs e)

{

label1.Text = textBox1.Text;

}

在AssemblyInfo.cs中引用System.Security命名空间,并添加一句:

[assembly : AllowPartiallyTrustedCallers()]

好,现在编译整个工程,生成\bin\Debug\WindowsFormsControlLibrary1.dll,我们的winform控件就做好了。

下面在解决方案里添加一个web应用程序的工程,名为WebApplication1,用来测试我们的控件。

将WindowsFormsControlLibrary1.dll拷贝到WebApplication1所在的目录下。然后在Default.aspx里面加入“

classid='http://localhost:59639/WindowsFormsControlLibrary1.dll#WindowsFormsControl Library1.demo' width="184" height="96" >

ok,编译运行后你将看到如下界面:

第二部分:把这个winForm控件转换为ActiveX控件

到目前为止,我们所实现的只是winform控件,还不是真正的ActiveX控件。

鼠标右键,打开WindowsFormsControlLibrary1的工程属性,在“应用程序”里点击“程序集信息...”显示如下界面:

选中“使程序集COM可见”,然后确定。

进入“生成”页面,如下图:

选中“为COM互操作注册”。

重新编译工程,这时WindowsFormsControlLibrary1.dll就变成了一个ActiveX控件。

我们使用工具—〉OLE/COM对象查看器查看,如图:

WindowsFormsControlLibrary1.demo已经被正确识别为COM组件。现在,我们已经可以像使用其它ActiveX控件一样在网页中显示了。在WindowsFormsControlLibrary1.demo 点击鼠标右键,选择Copy HTML Tag to Clipboard,可以将代码拷入剪贴板。

我们在Default.aspx 中粘贴剪贴板的内容,如下:

width="184"

>

编译运行整个工程,我们会在网页中看到之前的内容。好,现在我们的控件已经是货真价实的ActiveX控件了。

第三部分:实现ActiveX控件与网页的交互

我们在Demo中加入s1属性:

private string _s1;

public string s1

{

get

{

return _s1;

}

set

{

_s1 = value;

}

}

我们在Demo中加入ShowMessage方法:

public void showMessage()

{

MessageBox.Show(_s1);

}

修改Default.aspx 中的内容:

classid="clsid:A82F92E1-BA7F-3B32-B389-584E8AB4441F"

width="184"

>

好,编译运行整个工程,显示如下:

点击单击“用js和控件交互”按钮,应该可以实现交互了。

但是结果却很遗憾,我们发现IE跳出了对话框,如图所示

这时我们通过修改IE安全属性“对没有标记为安全的ActiveX控件进行初始化和运行”可以绕过这个问题,但是要真正解决需要实现IObjectSafety接口,把ActiveX控件标记为安全的ActiveX控件。

首先在工程里添加一个接口,命名为IObjectSafety.cs,代码如下:

using System;

using System.Runtime.InteropServices;

namespace WindowsFormsControlLibrary1

{

[Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"),InterfaceType(ComInterfaceT ype.InterfaceIsIUnknown)]

public interface IObjectSafety

{

void GetInterfacceSafyOptions( System.Int32 riid,out System.Int32 pdwSupportedOptions, out System.Int32 pdwEnabledOptions);

void SetInterfaceSafetyOptions( System.Int32 riid, System.Int32 dwOptionsSetMask, System.Int32 dwEnabledOptions);

}

}

注意添加命名空间“using System.Runtime.InteropServices”,Guid一定不能搞错。

然后在demo类里添加继承,如下:

public partial class demo : UserControl, WindowsFormsControlLibrary1.IObjectSafety

{...}

最后在demo类里实现两个特定方法:

public void GetInterfacceSafyOptions(Int32 riid, out Int32 pdwSupportedOptions, out Int32 pdwEnabledOptions)

{

// TODO: 添加 WebCamControl.GetInterfacceSafyOptions 实现 pdwSupportedOptions = 1;

pdwEnabledOptions = 2;

}

public void SetInterfaceSafetyOptions(Int32 riid, Int32 dwOptionsSetMask, Int32 dwEnabledOptions)

{

// TODO: 添加 WebCamControl.SetInterfaceSafetyOptions 实

}

重新编译,然后将IE里面的设置改回来。现在,我们发现,和JS的交互已经没有问题了。

在前面我们已经完成了ActiveX控件的开发,接下来的就是发布它了。

第四部分:制作安装包

在解决方案了添加一个“安装”项目,命名为SetupActiveX。

在项目的“应用程序文件夹”里添加“主输出项目”WindowsFormsControlLibrary1将主输出项目”WindowsFormsControlLibrary1的Register属性改为vsdrpCOM.如图:

现在我们生成安装程序,并把相应得程序拷贝到正确的目录中(本例中为默认网站目录下的跟文件夹中)。

现在我们又要重新改动Default.aspx 文件了。修改后的结果如下:

classid="clsid:A82F92E1-BA7F-3B32-B389-584E8AB4441F"

width="184"

codebase="Setup.exe"

>

注意,我们在object块中加入了codebase属性,这就是制定的下载控件的位置,可以使用相对路径。

但是,我们现在还不能正确请求这个页面,因为我们还没有对我们的控件进行签名。为了绕过这个问题,我们可以修改IE的安全属性"对没有标记为安全的ActiveX控件进行初始化和脚本运行"和"下载未签名的ActiveX控件"。

下面两部分明天接着写。。。。。

第五部分:给安装包签名

第六部分:部署

Ffffffffffffffffffffffffffffffffff

0. 前言

ActiveX控件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB 网页或其它应用程序中。使用ActiveX插件,可以轻松方便的在Web页中插入多媒体效果、交互式对象以及复杂程序等等。

通常使用C++或VB开发ActiveX控件,本文探讨一下在Visual Studio 2005环境中使用C#开发ActiveX控件的技术实现。

1. 问题场景

在C/S架构的系统中,客户端要实现某些业务功能,可以通过安装相关的应用程序集来方便的实现。同样的需求,在B/S架构的系统里实现起来却比较困难。因为所有的程序都放在服务器端,客户端只是采用浏览器,通过HTTP协议来访问服务器端。比较成熟的解决办法是开发ActiveX控件安装到客户端,这样客户端的浏览器就可以访问本地的ActiveX控件来执行相关的本地操作。本文将要谈论的,就是使用

C#开发一个ActiveX控件实现读取并显示客户端的系统时间。

2. 开发环境

?Windows XP

?Visual Studio 2005

?.NET Framework 2.0(C#)

3. 实现过程

3.1.ActiveX控件开发

在Visual Studio 2005开发环境中,可以使用Windows控件库项目实现ActiveX控件的开发,但是需要对项目做一些必要的设置。下面就来看看如何使用Windows控件库项目开发一个ActiveX控件。首先创建一个应用程序解决方案,并添加一个Windows控件库项目:

更改“项目属性-应用程序-程序集信息”设置,勾选“使程序集COM 可见”:

更改“项目属性-生成”设置,勾选“为COM Interop 注册”(注意,此处如果实在debug状态下修改的,那在调到release状态下还需要再设置一次):

修改AssemblyInfo.cs文件,添加[assembly: AllowPartiallyTrustedCallers()]项(需要引用System.Security名称空间):

using System.Reflection;

using https://www.wendangku.net/doc/1b1757257.html,pilerServices;

using System.Runtime.InteropServices;

using System.Security;

[assembly: AssemblyTitle("Yilin.Preresearch.CSharpActiveX")] [assembly: AssemblyDescription("")]

[assembly: AssemblyConfiguration("")]

[assembly: AssemblyCompany("10BAR")]

[assembly: AssemblyProduct("Yilin.Preresearch.CSharpActiveX")] [assembly: AssemblyCopyright("Copyright ? 10BAR 2009")]

[assembly: AssemblyTrademark("")]

[assembly: AssemblyCulture("")]

[assembly: AllowPartiallyTrustedCallers()]

[assembly: ComVisible(true)]

[assembly: Guid("114d1f0c-43b8-40ac-ae7c-5adccc19aef3")]

[assembly: AssemblyVersion("1.0.0.0")]

[assembly: AssemblyFileVersion("1.0.0.0")]

添加一个Windows用户控件:

按照开发Windows用户控件一样的思路完成该控件的开发,本例中主要实现了两个业务功能,一个是提供一个公共方法,用于读取USBKey中保存的签名证书,保存到本地C盘根目录下,并返回操作信息;另一个业务功能提供UI界面,包括一个Button控件和一个Label控件,Button控件的Click事件调用前面提供的那个方法,并将返回信息显示到Label控件上。这样做可以达到两个目的,其一,ActiveX

控件提供公共方法供B/S程序直接调用,从后实现业务功能;其二,ActiveX控件可以提供B/S程序UI

界面,通过响应B/S程序中对UI的操作事件实现业务功能。

完成控件开发后,为了使该用户控件作为一个ActiveX控件进行使用,还需要做以下修改:

首先,为控件类添加GUID,这个编号将用于B/S系统的客户端调用时使用(可以使用工具-创建GUID 菜单创建一个GUID):

Guid("4A44CF4E-F859-4328-AA22-3E9D7AFFF1AB")]

public partial class Hello : UserControl

{

其次,为了让ActiveX控件获得客户端的信任,控件类还需要实现一个名为“IObjectSafety”的接口。先创建该接口(注意,不能修改该接口的GUID值):

using System;

using System.Collections.Generic;

using System.Text;

using System.Runtime.InteropServices;

namespace Preresearch.CSharpActiveX

{

[ComImport, GuidAttribute("CB5BDC81-93C1-11CF-8F20-00805F2CD064")] [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] public interface IObjectSafety

{

[PreserveSig]

int GetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(Unman agedType.U4)] ref int pdwSupportedOptions, [MarshalAs(UnmanagedType.U 4)] ref int pdwEnabledOptions);

[PreserveSig()]

int SetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(Unman agedType.U4)] int dwOptionSetMask, [MarshalAs(UnmanagedType.U4)] in

t dwEnabledOptions);

}

}

然后在控件类中继承并实现该接口:

#region IObjectSafety 成员

private const string _IID_IDispatch = "{00020400-0000-0000-C000-00000 0000046}";

private const string _IID_IDispatchEx = "{a6ef9860-c720-11d0-9337-00a 0c90dcaa9}";

private const string _IID_IPersistStorage = "{0000010A-0000-0000-C000 -000000000046}";

private const string _IID_IPersistStream = "{00000109-0000-0000-C000-000000000046}";

private const string _IID_IPersistPropertyBag = "{37D84F60-42CB-11CE-8135-00AA004BB851}";

private const int INTERFACESAFE_FOR_UNTRUSTED_CALLER = 0x00000001; private const int INTERFACESAFE_FOR_UNTRUSTED_DATA = 0x00000002; private const int S_OK = 0;

private const int E_FAIL = unchecked((int)0x80004005);

private const int E_NOINTERFACE = unchecked((int)0x80004002);

private bool _fSafeForScripting = true;

private bool _fSafeForInitializing = true;

public int GetInterfaceSafetyOptions(ref Guid riid, ref int pdwSuppor tedOptions, ref int pdwEnabledOptions)

{

int Rslt = E_FAIL;

string strGUID = riid.ToString("B");

pdwSupportedOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERF ACESAFE_FOR_UNTRUSTED_DATA;

switch (strGUID)

{

case _IID_IDispatch:

case _IID_IDispatchEx:

Rslt = S_OK;

pdwEnabledOptions = 0;

if (_fSafeForScripting == true)

pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLE R;

break;

case _IID_IPersistStorage:

case _IID_IPersistStream:

case _IID_IPersistPropertyBag:

Rslt = S_OK;

pdwEnabledOptions = 0;

if (_fSafeForInitializing == true)

pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_DATA;

break;

default:

Rslt = E_NOINTERFACE;

break;

}

return Rslt;

}

public int SetInterfaceSafetyOptions(ref Guid riid, int dwOptionSetMa sk, int dwEnabledOptions)

{

int Rslt = E_FAIL;

string strGUID = riid.ToString("B");

switch (strGUID)

{

case _IID_IDispatch:

case _IID_IDispatchEx:

if (((dwEnabledOptions & dwOptionSetMask) == INTERFACESAF E_FOR_UNTRUSTED_CALLER) && (_fSafeForScripting == true))

Rslt = S_OK;

break;

case _IID_IPersistStorage:

case _IID_IPersistStream:

case _IID_IPersistPropertyBag:

if (((dwEnabledOptions & dwOptionSetMask) == INTERFACESAF E_FOR_UNTRUSTED_DATA) && (_fSafeForInitializing == true))

Rslt = S_OK;

break;

default:

Rslt = E_NOINTERFACE;

break;

}

return Rslt;

}

#endregion

这样,一个ActiveX控件就开发完成了。

3.2.ActiveX控件部署

ActiveX控件可以使用Visual Studio 2005的安装项目进行部署。这与普通的Windows Form应用程序的部署几乎一样,只有一个地方需要注意,将前面创建的用户控件项目作为主输出项目,并设置其Register属性为vsdrpCOM,如下图所示:

3.3.测试

建立一个Web应用程序项目,在测试页面的HTML代码中添加对ActiveX控件的引用,并且可以通过Javascript调用控件的公共成员(注意这里clsid后面的值即为前面为用户控件类设置的GUID):

将该Web应用程序项目发布到IIS。另外找一台电脑作为客户端测试环境,确保它与服务器端网络连通,安装.NET Framework 2.0和该ActiveX控件。安装完成后,就可以用浏览器访问服务器,进行测试了(你也可以在开发环境的系统中安装该ActiveX控件,并直接在VS 2005中运行WebApp项目查看结果):

4. 总结

综上所述,在Visual Studio 2005环境中使用C#开发ActiveX控件,技术实现上没有什么难度,唯一的问题就是客户端需要安装.NET Framework。鉴于ActiveX控件一般都是实现一些简单单一的功能,.NET Framework 2.0已经完全可以应付,所以建议在.NET Framework 2.0下开发。因为相对

于.NET Framework 3.5两百多兆的安装包,.NET Framework 2.0安装包只有20多兆,用户相对容易接受一些。

5. FAQ

5.1.出现如下错误怎么解决?

经在网上查阅,该问题是Visual Studio 2005的一个Bug,并不是每次都发生。我的解决办法是从Visual Studio 2008的安装目录里拷贝regcap.exe覆盖Visual Studio 2005的对应文件,文件目录一般为“~\Microsoft Visual Studio 8\Common7\Tools\Deployment\regcap.exe”。压缩包中提供了该文件的Visual Studio 2008版本。

WordVBA---ActiveX控件在Word文档中的使用方法

WordVBA---ActiveX控件在Word文档中的使用方法 当您想要提供一种完善的方式让用户与宏直接进行交互、而不受对话框干扰的时候,可以向文档直接添加ActiveX控件,这如同可以向自定义对话框添加 ActiveX 控件一样。使用以下过程可以将 ActiveX 控件添加到您的文档。 1、向文档中添加控件 您可以向文档的图形层或文本图层添加ActiveX 控件。 ★向图形层添加控件:单击控件工具箱上的控件。拖动控件的调整控点,直到控件的轮 廓大小和形状符合要求。 ★向文本层添加控件:请在按住 SHIFT 键的同时单击控件工具箱上的控件。该控件将 自动添加到文档中的插入点。 注释: 将一个控件(或一组控件)从窗体拖回"控件工具箱",即可创建一个可重复使用的该控件的模板。这是一个非常有用的功能,能为用户实现标准的应用程序界面。 2、设置控件属性 在设计阶段(宏运行之前)可以设置一些 ActiveX 控件的属性。在设计模式中,右键 单击一个控件并单击右键菜单中的"属性"以显示"属性"窗口。属性名称显示在窗口的左 栏,而属性值显示在右栏。可在属性名称的右边输入新值来设置该属性的值。 3、初始化控件属性 您可以通过在宏中使用 Visual Basic 代码在运行时初始化ActiveX 控件。例如,您 可在其中填充列表框中,设置文本值或设置选项按钮。 以下示例使用 Visual Basic 的 AddItem 方法将数据添至名为 lstRegions 的列表框,然后设置文本框的值并显示窗体。 Private Sub GetUserName() With UserForm1 .lstRegions.AddItem "North"

excel表单控件与ActiveX控件概念

工作表中的表单、表单控件和ActiveX 控件概念 是的,确实如此。在Microsoft Excel 中,使用少量或者无需 使用Microsoft Visual Basic for Applications (VBA) 代码即可 创建出色的表单。使用表单以及可以向其中添加的许多控件和 对象,您可以显著地增强工作表中的数据项并改善工作表的显 示方式。 ? ? 什么是表单? 无论是打印表单还是联机表单都是一种具有标准结构和格式的文档,这种文档可让用户更轻松地捕获、组织和编辑信息。 ?打印表单含有说明、格式、标签以及用于写入或键入数据的空格。您可以使用Excel 和Excel 模板创建打印表单。 ?联机表单包含与打印表单相同的功能。此外,联机表单还包含控件。控件是用于显示数据或者更便于用户输入或编辑数据、执行操作或进行选择的对象。通常,控件可使表单更便于使用。例如,列表框、选项按钮和命令按钮都是常用控件。通过运行(VBA) 代码,控件还可以运行指定的和响应事件,如鼠标点击。 您可以使用Excel 通过多种方式创建打印表单和联机表单。 Excel 表单的类型 您可以在Excel 中创建多种类型的表单:数据表单、含有表单和ActiveX 控件的工作表以及VBA 用户表单。可以单独使用每种类型的表单,也可以通过不同方式将它们结合在一起来创建适合您的解决方案。 数据表单

为在无需水平滚动的情况下在单元格区域或表格中输入或显示一整行信息提供了一种便捷方式。您可能会发现,当数据的列数超过可以在屏幕上查看的数据列数时,使用数据表单可以使数据输入变得更容易,而无需在列之间进行移动。如果以标签的形式将列标题列出的文本框这一简单表单足以满足您的需求,而且您不需要使用复杂的或自定义的表单功能(例如列表框或调节钮),则可以使用数据表单。 Excel 可以为您的或自动生成内 置数据表单。数据表单会在一个对 话框中将所有列标题都显示为标 签。每个标签旁边都有一个空白文 本框,您可以在其中输入每一列的 数据,最多可以输入32 列数据。 在数据表单中,您可以输入新行, 通过导航查找行,或者(基于单元 格内容)更新行及删除行。如果某 个单元格包含,则公式结果会显示 在数据表单中,但您不能使用数据 表单更改该公式。 含有表单和ActiveX 控件的工作表 工作表是一种类型的表单,可让您在网格中输入数据和查看数据,Excel 工作表中已经内置了多种类似控件的功能,如注释和数据验证。单元格类似于文本框,因为您可以在单元格中输入内容以及通过多种方式设置单元格的格式。单元格通常用作标签,通过调整单元格高度和宽度以及合并单元格,您可以将工作表用作简单的数据输入表单。其他类似控件的功能(如单元格注释、超链接、背景图像、数据验证、条件格式、嵌入图表和自动筛选)可使工作表充当高级表单。 为增加灵活性,您可以向工作表的“”添加控件和其他绘图对象,并将它们与工作表单元格相结合和配合。例如,您可以使用列表框控件方便用户从项目列表中选择项目。还可以使用调节钮控件方便用户输入数字。 因为控件和对象存储在绘图画布中,所以您可以显示或查看不受行和列边界限制的关联文本旁边的控件和对象,而无需更改工作表中数据网格或表的布局。在大多数情况下,还可以将其中许多控件链接到工作表中的单元格,而无需使用VBA 代码即可使它们正常工作。您可以设置相关属性来确定控件是自由浮动还是与单元格一起移动和改变大小。例如,在对区域进行排序时,您可能有一个希望与基础单元格一起移动的复选框。不过,如果您有一个希望一直保持在特定位置的列表框,则您可能希望它不与其基础单元格一起移动。 Excel 有两种类型的控件:表单控件和ActiveX 控件。除这两个控件集之外,您还可以通过绘图工具(如、、SmartArt 图形或文本框)添加对象。 以下部分介绍这些控件和绘图对象,此外,还更为详细地介绍如何使用这些控件和对象。

.NET4.0 用户控件的概述

https://www.wendangku.net/doc/1b1757257.html,4.0 用户控件的概述 用户控件是页面的一段,包含了静态HTML代码和服务器控件。其优点在于一旦创建了一个用户控件,可以在同一个应用的多个页面中重用。并且,用户可以在Web用户控件中,添加该控件的属性、事件和方法。 1.什么是用户控件 用户控件(后缀名为.ascx)文件与https://www.wendangku.net/doc/1b1757257.html,网页窗体(后缀名为.aspx)文件相似。就像网页窗体一样,用户控件由用户接口部分和控制标记组成,而且可以使用嵌入脚本或者.cs代码后置文件。用户控件能够包含网页所能包含的任何东西,包括静态HTML内容和https://www.wendangku.net/doc/1b1757257.html,控件,它们也作为页面对象(Page Object)接收同样的事件(如Load和PreRender),也能够通过属性(如Application,Session,Request 和Response)来展示https://www.wendangku.net/doc/1b1757257.html,内建对象。 用户控件使程序员能够很容易地跨Web应用程序划分和重复使用公共UI功能。与窗体页相同,用户可以使用任何文本编辑器创作用户控件,或者使用代码隐藏类开发用户控件。 此外,用户控件可以在第一次请求时被编译并存储在服务器内存中,从而缩短以后请求的响应时间。与服务器端包含文件(SSI)相比,用户控件通过访问由https://www.wendangku.net/doc/1b1757257.html,提供的对象模型支持,使程序员具有更大的灵活性。程序员可以对在控件中声明的任何属性进行编程,而不只是包含其他文件提供的功能,这与其他任何https://www.wendangku.net/doc/1b1757257.html,服务器控件一样。 此外,可以独立于包含用户控件的窗体页中除该控件以外的部分来缓存该控件的输出。这一技术称作片段缓存,适当地使用该技术能够提高站点的性能。例如,如果用户控件包含提出数据库请求的https://www.wendangku.net/doc/1b1757257.html,服务器控件,但该页的其余部分只包含文本和在服务器上运行的简单代码,则程序员可以对用户控件执行片段缓存,以改进应用程序的性能。 用户控件与普通网页页面的区别是: ●用户控件开始于控件指令而不是页面指令。 ●用户控件的文件后缀是.ascx,而不是.aspx。它的后置代码文件继承于 https://www.wendangku.net/doc/1b1757257.html,erControl类.事实上,UserControl类和Page类都继承于同一个 TemplateControl类,所有它们能够共享很多相同的方法和事件。 ●没有@Page指令,而是包含@Control指令,该指令对配置及其他属性进行定义。 ●用户控件不能被客户端直接访问,不能作为独立文件运行,而必须像处理任何控件一 样,将它们添加到https://www.wendangku.net/doc/1b1757257.html,页中。 ●用户控件没有html、body、form元素,但同样可以在用户控件上使用HTML元素和 Web控件。 用户可以将常用的内容或者控件以及控件的运行程序逻辑,设计为用户控件,

第六章 对话框控件

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

android studio 控件常用属性

android studio 控件常用属性 下面是RelativeLayout各个属性 1.android:layout_above="@id/xxx" --将控件置于给定ID控件之上 2.android:layout_below="@id/xxx" --将控件置于给定ID控件之下 3. android:layout_toLeftOf="@id/xxx" --将控件的右边缘和给定ID控件的左边缘对齐 4.android:layout_toRightOf="@id/xxx" --将控件的左边缘和给定ID控件的右边缘对齐 5. android:layout_alignLeft="@id/xxx" --将控件的左边缘和给定ID控件的左边缘对齐 6.android:layout_alignTop="@id/xxx" --将控件的上边缘和给定ID控件的上边缘对齐 7.android:layout_alignRight="@id/xxx" --将控件的右边缘和给定ID控件的右边缘对齐 8.android:layout_alignBottom="@id/xxx" --将控件的底边缘和给定ID控件的底边缘对齐 9.android:layout_alignParentLeft="true" --将控件的左边缘和父控件的左边缘对齐 10. android:layout_alignParentTop="true" --将控件的上边缘和父控件的上边缘对齐 11. android:layout_alignParentRight="true" --将控件的右边缘和父控件的右边缘对齐 12.android:layout_alignParentBottom="true" --将控件的底边缘和父控件的底边缘对齐 13.android:layout_centerInParent="true" --将控件置于父控件的中心位置 14.android:layout_centerHorizontal="true" --将控件置于水平方向的中心位置 15.android:layout_centerVertical="true" --将控件置于垂直方向的中心位置 android:layout_width 设置组件的宽度 android:layout_height 设置组件的高度 android:id 给组件定义一个id值,供后期使用 android:background 设置组件的背景颜色或背景图片 android:text 设置组件的显示文字 android:textColor 设置组件的显示文字的颜色 android:layout_below 组件在参考组件的下面 android:alignTop 同指定组件的顶平行

vf表单控件的使用说明

一、标签 标签能够显示多个字符构成的文本,用于设计表单上所需的文字性提示信息。标签和大多数控件的不同点在于运行表单时不能用《tab》键来选择标签。 常用的标签属性及其作用如下。 1、Caption:确定标签处显示的文本。 2、Visible:设置标签可见还是隐藏。 3、AutoSize:确定是否根据标签上显示文本的长度,自动调整标签大小。 4、BackStyle:确定标签是否透明。 5、WordWrap:确定标签上显示的文本能否换行。 6、FontSize:确定标签上显示文本所采用的字号。 7、FontName:确定标签上显示文本所采用的字体。 8、ForeColor:确定标签上显示的文本颜色。 二、命令按钮和命令按钮组 在各种窗口或对话框中几乎都要使用一个或多个命令按钮。一旦用户单击一个命令按钮,就可实现某种规定的操作。例如,各种对话框中的“确定”按钮,当用户单击时将结束对话框的操作。 VisualForPro中的命令按钮控件同样用于完成特定的操作。操作的代码通常放在命令按钮的“单击”事件(即Click Event)代码中。这样,运行表单时,当用户单击命令按钮时便会执行Click事件代码。如果在表单运行中,某个命令按钮获得了焦点(这时,这个命令按钮上会比其他命令按钮多一个线框),则当用户按下《Enter》键或空格键时,也会执行这个命令按钮的Click时间代码。 常用的命令按钮属性及其作用如下: 1、Caption:设置在按钮上显示的文本。 2、Default:在表单运行中,当命令按钮以外的某些控件(如文本框)获得焦点时,若 用户按下《Enter》键,将执行Default属性值为.T.的那个命令按钮的click事件代码。 3、Cancel:如果设置该属性值为.T.,则当用户按下键时,将执行命令按钮的click 事件的代码。 4、Enabled:指明按钮是否失效,即是否被选择。当Enabled属性值为.f.时,用户无法 选择该按钮。 5、DisabledPicture:指定按钮失效时在按钮上显示的.bmp文件。 6、DownPicture:指定在按钮按下时按钮上显示的.bmp文件。 7、Visible:指明按钮是否可见。 8、Picture:指明显示在按钮上的.bmp文件。 命令按钮组时一组命令按钮,是容器对象。使用命令按钮组便于对一组命令按钮进行统一操作和设置。命令按钮组的ButtonCount属性值,决定组中命令按钮的个数。 表单运行时,当用户单击组中某个命令按钮时,命令按钮组的Value属性可以返回所单击按钮的序号。若要单独设置组中的某个命令按钮的属性,可以使用命令按钮组的快捷菜单中的“编辑”命令选择某个按钮,在“属性”窗口中设置其属性。若为组中某个按钮的Click事件写了代码,当单击这个按钮时,将执行该按钮的Click事件代码而不是组的Click事件代码。 三、选项按钮组 选项按钮组是常用的一种控件,用在各种对话框中,让用户从给定几个操作中选择一个。例如“文件”菜单中“新建”菜单项打开“新建”对话框,该对话框中有一个标题为“文件类型”的选项按钮组,让用户选择建立哪一种类型的文件。

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)表示删除所选。

Android界面开发之常用系统控件界面大合集

今天我用自己写的一个Demo 和大家详细介绍一个Android开发中遇到的一些常用系统控件的使用技巧。 1.文本框TextView TextView的作用是用来显示一个文本框,下面我用两种方式为大家呈现TextView,第一种是通过xml布局文件

呈现,第二种是通过代码来呈现,由此可见Android 的界面开发真的是非常灵活。 view plaincopy to clipboardprint? 1. public class TextViewActivity extends Activity { 2. @Override 3. protected void onCreate(Bundle savedInstanceState) { 4. setContentView(https://www.wendangku.net/doc/1b1757257.html,yout.textview);

5. 6. LinearLayout ll = (LinearLayout) findViewById(R.id.textviewll); 7. TextView textView = new TextView(this); 8. //设置显示文字 9. textView.setText("从代码中添加一个TextView"); 10. //设置显示颜色 11. textView.setTextColor(Color.WHITE); 12. //设置显示字体大小 13. textView.setTextSize(18); 14. //设置显示背景颜色 15. textView.setBackgroundColor(Color.BLUE); 16. //设置锚点位置 17. textView.setGravity(Gravity.CENTER_VERTICAL|Gravity.CE NTER_HORIZONTAL); 18. //把这个view加入到布局当中 19. ll.addView(textView); 20. 21. super.onCreate(savedInstanceState); 22. } 23. } 1. 2.

ActiveX控件添加指导

ActiveX控件添加应用指南 在有些应用软件中,比如VC、VB、CVI等,ActiveX控件中缺少具体的一些功能控件,如chart控件等,需要从网上下载一个MSCHRT20.OCX文件,在下图中红圈中选择“运行”, 打开后出现如下窗口: 在窗口里输入regsvr32 D:mschrt20.ocx,“D:mschrt20.ocx”为mschrt20.ocx文件所在位置点击确定,就完成了添加。如果运行时又出现了“ActiveX control is not licensed for this operation ”或类似提示,则需要用“记事本”格式的文档将以下程序复制并保存,且必须将此程序保存为XXX.reg格式(注册表格式),然后直接双击此reg格式的文件,就完成了许可(授权)。 Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Licenses] @="Licensing: Copying the keys may be a violation of established copyrights." [HKEY_CLASSES_ROOT\Licenses\096EFC40-6ABF-11cf-850C-08002B30345D] @="knsgigmnmngnmnigthmgpninrmumhgkgrlrk" [HKEY_CLASSES_ROOT\Licenses\12B142A4-BD51-11d1-8C08-0000F8754DA1] @="aadhgafabafajhchnbchehfambfbbachmfmb" [HKEY_CLASSES_ROOT\Licenses\190B7910-992A-11cf-8AFA-00AA00C00905] @="gclclcejjcmjdcccoikjlcecoioijjcjnhng" [HKEY_CLASSES_ROOT\Licenses\1F3D5522-3F42-11d1-B2FA-00A0C908FB55] @="gcfjdjecpchcncdjpdejijgcrdoijjfcieod" [HKEY_CLASSES_ROOT\Licenses\1FB639E1-771F-11d1-8FD4-00A0C91E29D5] @="ldaskjeinankjgbnkcejnkrgnkvntkhzkhbtnkste" [HKEY_CLASSES_ROOT\Licenses\2AC5863D-48B9-490c-ACD3-B7723A1FEB9E] @="wrtgfdsbvxgfsdyuihjknmvcxgasdwqersdfdfsdyu" [HKEY_CLASSES_ROOT\Licenses\2c49f800-c2dd-11cf-9ad6-0080c7e7b78d] @="mlrljgrlhltlngjlthrligklpkrhllglqlrk" [HKEY_CLASSES_ROOT\Licenses\38911DA0-E448-11D0-84A3-00DD01104159] @="mcpckchcdchjcjcclidcgcgchdqdcjhcojpd" [HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905] @="kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun" [HKEY_CLASSES_ROOT\Licenses\43478d75-78e0-11cf-8e78-00a0d100038e] @="imshohohphlmnhimuinmphmmuiminhlmsmsl" [HKEY_CLASSES_ROOT\Licenses\46D504D7-557F-4C19-A4DD-6605411EF496] "6A7693BA-3139-41fd-BF3D-299961C965D5"="01000000d08c9ddf0115d1118c7a00c04fc297e b01000000b0cfa8651eed814ea8aa77984d181953040000001800000056005300200050004900440 020*******e0066006f00000003660000a80000001000000056a66542c85db014774bffecdc56384e

教学设计表单控件--选项按钮组

优秀课堂教学设计 课题:教表单控件选项按钮组 师:教材分马冬艳析:本节课是选自中等职业学校计算机技术专业的《数据库应用技术 VISUAL FOXPRO6.0 》中第六章表单设计中的第三节的内容。节课是在同学们 已经掌握了几种基本表单控件的基础上,进一步学习选项按扭组控件。重点:选项 按钮组的基本属性和特有属性难点:选项按钮组的应用能力目 1)标:通过了解选项按钮组的特性,并予以适当的启发,让学生能够利用此 2)控件具有创造性的设计出实用表单,培养学生的创造力。 3)知识目标:熟知选项按钮组的特性并熟练应用。情感目标:通过讨论增进同学们的感情交流和知识交流。由于书上对本节的内容实例较少且实例多是在以往例 题的基础上添加上此控因此控件属性突出不明显,为此我特地 专对此控件的属性设计了一道例题,不但能突出这个控件的特有属性,而(4) 且能极大的提高学生的学习兴趣,有利有的突出了重点问题,为解决难点课程重组:(5) 做好了铺垫。在精心设置例题的基础上增加了让学生自己根据控件属性设置问题的环节,不但能增加学生学习的兴趣而且有利于学习对本节课的内容进行深层次的思考,从而达到突破难点的目的。学生在学习本节课之前已经学习了一些控件,对于控件的学习已经有了一定学习经验,知道在学习控件的学习过程中应该注意哪些地方。但是由于控件学习的比较多,而且有很多相似的地方学生容易产生厌烦情绪,为了解决这个问题,要在引入此控件时设置好问题情境,引发学生学习兴趣,且鼓励学生进行大胆的学情分析:设想,培养同学们的创造思维能力。根据学生学习能力水平的不同在请同学们上前操作时,按照要操作的内容有选择性的挑选学生上来操作,在做简单操作时挑选那些平时操作不是很熟练且胆子比较小的同学,在培养他们胆量的同时通过完成一些简单操作激发他们的信心。对于那些较有难度且需要进行一不思考的问题,找一些底子比较好但是又不会很快把这个问题解决出来的同学来做,在他做的过程

ASP NET基础知识

https://www.wendangku.net/doc/1b1757257.html,的两种编码方式是什么,什么是代码内嵌,什么是代码后置?Web页面的父类是谁? 代码内嵌和代码后置。代码内嵌把业务逻辑编码和显示逻辑编码交叉使用。代码后置式业务逻辑代码和显示逻辑代码分开使用。system.web.ui.page 2.Web控件的AutoPostBack属性的作用是什么? 控件的值改变后是否和服务器进行交互(自动回传) 3.验证服务器控件有哪些,他们有哪些常用的属性,ControlToValidate属性的作用是什么?有哪两种服务器控件? RequiredFieldValidator:controltovalidate(验证的控件ID,共有的属性),text,ErrorMessage||||(dropdownlist控件验证时InitialValue属性是如果用户没有改变初始值,会验证失败)CompareValidator:controltocompare(要进行对比的控件),type(比较类型设置),operator(比较运算符,默认为等于),ValueToCompare(进行比较的值) RangeValidator:type(验证类型(5种)),MaximumValue(最大值),MinimumValue(最小值)(包括上下限) RegularExpressionValidator:ValidationExpression(设置要匹配的正则表达式)ValidationSummary:showMessageBox(是否显示弹出的提示消息),ShowSummary(是否显示报告内容) HTML服务器控件和web服务器控件 4.什么是Session,如何进行Session的读写操作,使用什么方法可以及时释放Session?Session 是用于保持状态的对象。Session 允许通过将对象存储在Web服务器的内存中在整个用户会话过程中保持任何对象。 通过键值对的方式进行读写;clear()和abandon()方法 5.运行https://www.wendangku.net/doc/1b1757257.html,程序需要安装和配置什么,.NET Framework是不是必须要安装? 安装IIS和.NET Framework 必须安装 https://www.wendangku.net/doc/1b1757257.html,配置信息分别可以存储在什么文件中? web.config文件和machine.config文件中 7.常用服务器控件,如Label、Button、TextBox、HyperLink、DropdownList的常用属性有哪些?label:text ,forecolor,visible Button:CommandName,CauseValidation, TextBox:AutopostBack,TextMode Hyperlink:NavigateUrl(单击Hyperlink时跳转的Url),Text,Target(设置NavigateUrl属性的目标框架),ImageUrl(设置Hyperlink中显示图片文件的Url) Dropdownlist:AutoPostBack 8.XMLHttpRequest对象的常用属性和方法有哪些? 方法是open()和send() 属性:ReadyState和Status,ResponseText,ResponseXML,ResponseStream https://www.wendangku.net/doc/1b1757257.html,中的常用的指令有哪些?谈谈这些指令的常用属性的作用?

Android开发日志—常用控件篇(android简介和容器控件)

Android开发日志—常用控件篇(容器控件) android简介: Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。 Android的系统架构和其操作系统一样,采用了分层的架构。 Android结构 从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。 隐藏在每个应用后面的是一系列的服务和系统, 其中包括; 丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons),甚至可嵌入的web 浏览器。 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据 资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。 通知管理器(Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。 Android开发四大组件分别是:活动(Activity):用于表现功能。服务(Service):后台运行服务,不提供界面呈现。广播接收器(BroadcastReceiver):用于接收广播。内容提供商(Content Provider):支持在多个应用中存储和读取数据,相当于数据库。 活动(当前界面视图):

表单控件常用属性、事件及方法英中对照

VFP表单/控件常用属性、事件及方法英中对照 ——属性—— Name:表单或控件名 Caption:标题文字 AutoCenter:自动居中 AutoSize:自动大小 ForeColor:前景色 BackColor:背景色 Closable:可关闭 Movable:可移动 Width:宽度 Height:高度 Icon:图标 Visible:可见 Font*:字体、字号等 Enabled:能用 ButtonCount:命令按钮组、选项组控件中控件的个数 Buttons(1):命令按钮组、选项组控件中第一个控件;Buttons(2)命令按钮组、选项组控件中第二个控件;…… value:表示组控件中选中的是第几个控件 或文本框中的内容 或列表框中选择的内容 等 PasswordChar:文本框用于输密码时显示的符号 ControlSource:和控件绑定的内存变量或字段SelStart:编辑框中选定内容的开始位置SelLength:编辑框中选定内容的长度SelText:编辑框中选定的内容 ListCount:列表框中可供选择的内容数 List(1)表示列表框中的第一项内容,List(2)表示列表框中的第二项内容,……RowSourceType:列表框中内容的给出方式RowSource:列表框中内容来自的字段名等MultiSelect:1或.t.时允许多项选择 Selected(1)为真,第一项被选;Selected(2)为真,第二项被选;……。 Text:下拉列表框中输入的内容Recordsource:表格控件绑定的表PageCount:页框中页面的个数 Pages(1)表示页框中的第一个页面,Pages (2)表示页框中的第二个页面,……ActivePage:页框中的活动页面号Increment:微调每次的变化量SpinnerHighValue:鼠标调整时的最大值SpinnerLowValue:鼠标调整时的最小值KeyboardHighValue:键盘输入时的最大值KeyboardLowValue:键盘输入时的最小值Value:微调的当前值 Picture:图像控件对应的图像 Stretch:图像的显示方式 Interval:计时器定时的时间间隔,单位毫秒 ——事件—— Load:装入事件 Init:初始化事件 Destroy:表单关闭前发生的事件Unload:表单关闭时发生的事件Click:单击事件 DblClick:双击事件 RightClick:右键事件 GotFocus:得到焦点事件 LostFocus:失去焦点事件 Timer:计时器指定的时间间隔到时发生 Error:执行对象事件代码出错时发生——方法—— Release:关闭表单Refresh:表单刷新Show:显示表单Hide:隐藏表单SetFocus:将焦点放到控件中 AddItem(内容项):向列表框中增加数据项RemoveItem(位置):从列表框中删数据项

实验四VBNET程序设计基础和常用控件

实验四 https://www.wendangku.net/doc/1b1757257.html,程序设计基础和常用控件 一、实验目的 本实验主要了解面向对象程序设计语言https://www.wendangku.net/doc/1b1757257.html,基本语言元素包括集成开发环境、语言基础、基本控制结构、过程、常用控件和界面设计。通过本实验,读者将学会一些主要的面向对象的设计方法并可以利用https://www.wendangku.net/doc/1b1757257.html,完成简单的应用程序开发。 二、实验环境 Microsofe Visual Studio .NET 2008 三、实验内容 1.设计一个Visual 的应用程序,窗体上有一个多行文本框和3个命令按钮,程序界面如图1所示。要求应用程序运行时,当单击窗体上【显示文本信息】按钮,文本框中显示红色文字“我喜欢https://www.wendangku.net/doc/1b1757257.html,,因为它简单易学,使用方便。”当单击窗体上【改变背景色】按钮,文本框的背景色变为黄色。当单击窗体上【结束】按钮,程序结束。保存该应用程序。【实验步骤】: 1)创建工程:打开Visual Studio 后,点击左上角的新建项目,选中“模板”,展开选择Visual Basic,再选中Windows桌面,再在左边的类型中选择“Windows窗体应用程序”,在下方为此项目命名为“Win dowsApplication4.1”

2)先打开“工具箱”:展开左上角的“视图”,点击工具箱。 3)修改Form1的名称:右键选中From1,点击“属性”,在新弹出的属性菜单栏中,找到“Text”这个属性,将右边的“From1”改为“第一个https://www.wendangku.net/doc/1b1757257.html,实验”即可。 4)设置一个普通文本框:在工具栏中,选中公共空间中的TextBox,然后拖入右边的设计窗口中,然后鼠标移到TextBox后,鼠标左键按住不放可以移动此控件。 5)调整文本框的大小:鼠标移动到文本框的左右边缘,鼠标箭头会变成一个左右的箭头,

Android常用控件

《Android基础应用》 Android常用控件 ?本章任务 ?使用Android开发使用时间组件 ?使用Android开发使用进度条组件 ?使用Android开发创建底部选项卡 ?本章目标 ?了解Android的组件层次结构 ?掌握常用的日期时间类控件 ?掌握常用的几个容器组件 1.Android组件的层次结构 UI组件都是View的子类,View有很多子类,它们之间存在树状的继承关系View及其子类结构图

TextView及其子类结构图

ViewGroup及其子类结构图 其下的子类一般作为容器或布局来使用 FrameLayout及其子类结构图 其下的子类通常作为容器或布局来使用

2.时间控件 2.1日期时间选择器 DatePicker组件可用于输入日期,TimePicker组件可用来选择时间,只能输入小时和分,默认12小时制 DatePicker ●使用onDateChangedListener监听器来获取用户的日期选择 ●使用init对组件进行初始化 ●使用getYear,getMonth,getDayOfMonth方法获得用户选择的年,月,日 TimePicker ●使用onTimeChangedListener监听器获取用户的时间选择 ●使用setIs24HourView设置是否以24小时制显示 ●使用getCurrentHour获得当前的小时数 ●使用getCurrentMinute获得当前的分钟数 示例

示例的实现结果

2.2时钟组件 AnalogClock组件用来以表盘的方式显示当前时间,该表只有时针和分针,DigitClock组件以数字的方式显示当前时间可以显示时分秒,由于DigitClock继承TextView,可以使用TextView 的属性 示例

注册ActiveX控件的几种方法

注册ActiveX控件的几种方法 使用ActiveX控件可快速实现小型的组件重用、代码共享,从而提高编程效率,降低开发成本。但是ActiveX控件对于最终用户并不能直接使用,因为ActiveX控件必须先在Windows 中注册。注册ActiveX控件一般来说有六种途径,它们有各自的优点,运用范围也不同。 Regsvr32.exe注册 Regsvr32.exe位于Windows目录的system子目录下。点击Windows的“开始→运行”菜单,在对话框中输入以下命令: regsvr32 netshare.ocx &&注册netshare.ocx控件 regsvr32 /u netshare.ocx &&解除netshare.ocx控件的注册 如果netshare.ocx文件不在system目录时,还必须在文件名前加上完整的路径。除了regsvr32应用程序之外,Microsoft在它的Web站点上还提供了一个称为regclean.exe的程序,可以检查注册表并去掉丢失的组件在注册表中的条目。regclean.exe除了可以删除“悬挂”的条目,它还提供一个“undo”文件帮助恢复错误的删除。 卧龙传说提醒:用regsvr32.exe注册ActiveX控件虽然简单,但需要用户手工进行注册,在不用时还需手工解除注册。 VFP环境注册 在我们进行程序设计时,VFP本身提供一个注册ActiveX控件的方法。 进入VFP环境,选择“工具→选项”菜单,点击“控件”页,选中“ActiveX控件”单选按钮,在列表框里显示所有已经注册的ActiveX控件,这时,点击右边的“添加”按钮,选择需要注册的ActiveX控件文件,“确定”后完成注册。也可以在表单设计器的表单控件工具栏里拖动“OLE”按钮到表单,在弹出的选择框里选中“插入控件”单选钮,同样点击右边的“添加控件”按钮,来完成新控件的注册。 卧龙传说提醒:本方法仅适合程序员在设计程序过程中手工进行,对用户而言,并没有实现在本地机上自动注册。 安装程序注册 大型应用软件一般都有一个安装程序,在安装程序中解决ActiveX控件的注册是较为理想的一种方案。 在用户执行安装程序时,这些ActiveX控件将自动在用户机器上安装并注册。 VFP7.0光盘所带的InstallShield是目前较为流行的制作安装程序的工具,使用它可以制

android常用控件大全

android常用控件大全 在Android中使用各种控件(View) DatePicker-日期选择控件 TimePicker-时间选择控件 ToggleButton-双状态按钮控件 EditText-可编辑文本控件 ProgressBar-进度条控件 SeekBar-可拖动的进度条控件 AutoCompleteTextView-支持自动完成功能的可编辑文本控件 MultiAutoCompleteTextView-支持自动完成功能的可编辑文本控件,允许输入多值(多值之间会自动地用指定的分隔符分开) ZoomControls-放大/缩小按钮控件 Include-整合控件 VideoView-视频播放控件 WebView-浏览器控件 RatingBar-评分控件 Tab-选项卡控件 Spinner-下拉框控件 Chronometer-计时器控件 ScrollView-滚动条控件 在Android中使用的Layout FrameLayout:里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角 LinearLayout:里面可以放多个控件,但是一行只能放一个控件

TableLayout:这个要和TableRow配合使用,很像html里面的table AbsoluteLayout:里面可以放多个控件,并且可以自己定义控件的x,y的位置 RelativeLayout:里面可以放多个控件,不过控件的位置都是相对位置 (Android界面布局好像还可以直接引用一些view,如ScrollView等) 常用控件: 1,EditText 主要函数:setText/getText设置/获取文本内容,setHint设置缺省显示内容; 2,RadioGroup,RadioButton RadioButton的isChecked()判断是否被选中 获取选中RadioButon的ID:设置 RadioGroup.setOnCheckedChangeListener方法 publiconCheckedChanged(RadioGroupgroup,intcheckedId)//checkedId 是选中RadioButton的ID 3,CheckBox isChecked()判断是否被选中 setOnCheckedChangeListener方法监视选中状态改变情况 4,Spinner a,显示数据 1),硬编码加载 通过setAdapter方法设置类型为 ArrayAdapter(Contextcontext,inttextViewResId,String[]objects) textViewResourceId:显示内容的ViewID默认设置为 https://www.wendangku.net/doc/1b1757257.html,yout.simple_spinner_item

相关文档 最新文档