.NET都包括什么技术,详细点!
Microsoft Visual Studio Ultimate 2013Version 12.0.21005.1 RELMicrosoft .NET FrameworkVersion 4.5.50938Installed Version: UltimateArchitecture and Modeling Tools 06181-004-0449004-02598Microsoft Architecture and Modeling ToolsUML? and Unified Modeling Language? are trademarks or registered trademarks of the Object Management Group, Inc. in the United States and other countries.LightSwitch for Visual Studio 2013 06181-004-0449004-02598Microsoft LightSwitch for Visual Studio 2013Microsoft Office Developer Tools for Visual Studio 2013 ENU 06181-004-0449004-02598Microsoft Office Developer Tools for Visual Studio 2013 ENUTeam Explorer for Visual Studio 2013 06181-004-0449004-02598Microsoft Team Explorer for Visual Studio 2013Visual Basic 2013 06181-004-0449004-02598Microsoft Visual Basic 2013Visual C# 2013 06181-004-0449004-02598Microsoft Visual C# 2013Visual C++ 2013 06181-004-0449004-02598Microsoft Visual C++ 2013Visual F# 2013 06181-004-0449004-02598Microsoft Visual F# 2013Visual Studio 2013 Code Analysis Spell Checker 06181-004-0449004-02598Microsoft? Visual Studio? 2013 Code Analysis Spell CheckerPortions of International CorrectSpell? spelling correction system ? 1993 by Lernout & Hauspie Speech Products N.V. All rights reserved.The American Heritage? Dictionary of the English Language, Third Edition Copyright ? 1992 Houghton Mifflin Company. Electronic version licensed from Lernout & Hauspie Speech Products N.V. All rights reserved.ASP.NET Web Frameworks and Tools 2012.2 4.1.21001.0For additional information, visit http://go.microsoft.com/fwlink/?LinkID=309563ASP.NET Web Frameworks and Tools 2013 5.0.11001.0For additional information, visit http://www.asp.net/Common Azure Tools 1.0Provides common services for use by Azure Mobile Services and Windows Azure Tools.Microsoft Web Developer Tools 2013 2.0.40926.0Microsoft Web Developer Tools contains the following components:Support for creating and opening ASP.NET web projectsBrowser Link: A communication channel between Visual Studio and browsersEditor extensions for HTML, CSS, and JavaScriptPage Inspector: Inspection tool for ASP.NET web projectsScaffolding: A framework for building and running code generatorsServer Explorer extensions for Windows Azure Web SitesWeb publishing: Extensions for publishing ASP.NET web projects to hosting providers, on-premises servers, or Windows AzureNuGet Package Manager 2.7.40911.287NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.PreEmptive Analytics Visualizer 1.2Microsoft Visual Studio extension to visualize aggregated summaries from the PreEmptive Analytics product.SQL Server Data Tools 12.0.30919.1Microsoft SQL Server Data ToolsWindows Azure Mobile Services Tools 1.0Windows Azure Mobile Services ToolsWorkflow Manager Tools 1.0 1.0This package contains the necessary Visual Studio integration components for Workflow Manager.这个是VS所带的自述文件.其中所有的东西均是VS给予C#的支持.当然里面有很多并不是C#但是您这里说的是.NET.那么这个框架集...就大致包含了上述的内容..而这些内容.也仅仅是一部分而已.您这里所述范围有点大.因为.NET是框架集.如果非要扯远点.其实很多东西都与他挂钩例如大家熟知的DX9.0C 他最开始也为了.NET框架开发了一部分接口.那您说属于不属于呢?所以希望您能知晓该前提下.再去思考.什么是.NET.另外附上百度百科:但是该词条描述并不完善以及准确.请仅作参考..NET就是微软用来实现XML,Web Services,SOA(面向服务的体系结构service-oriented architecture)和敏捷性的技术。
对技术人员,想真正了解什么是.NET,必须先了解.NET技术出现的原因和它想解决的问题,必须先了解为什么他们需要XML,Web Services 和 SOA。
技术人员一般将微软看成一个平台厂商。
微软搭建技术平台,而技术人员在这个技术平台之上创建应用系统。
从这个角度,.NET也可以如下来定义:.NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。
从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。
(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序。
)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。
比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。
.NET是基于Windows操作系统运行的操作平台,应用...
如何:响应 Web 引用事件 (Visual C#)
VSLangProjWebReferencesEvents 是Visual Studio 2005 中的新类型。
在Visual Basic 或 Visual C# 项目中添加或移除 Web 引用,或修改该引用的属性时,便会引发该事件。
此示例通过 Visual C# 来使用 VSLangProjWebReferencesEvents 属性为特定项目连接事件处理方法。
说明显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。
这些过程是在“常规开发设置”处于活动状态时开发的。
若要更改设置,请在“工具”菜单上选择“导入和导出设置”。
有关更多信息,请参见 Visual Studio 设置。
使用Visual C# 处理与 Web 引用相关的事件在Visual C# 中创建 Visual Studio 外接程序项目。
在“项目”菜单上,依次单击“添加引用”、“.NET”选项卡,选择第一个 VSLangProj 和 VSLangProj80,然后单击“确定”。
在Connect.cs 文件的顶部添加 using VSLangProj; 和using VSLangProj80;。
在Connect 类中,初始化一个变量以处理 VSLangProjWebReferencesEvents 对象。
C#private DTE2 _applicationObject; private AddIn _addInInstance; private VSLangProj80.VSLangProjWebReferencesEvents webRefEvents; 在此示例中,变量名为 webRefEvents。
自动化模型中的其他对象与特定于项目的其他类型的事件相关。
例如,在向 Imports 集合添加导入或从中移除导入时会引发 ImportsEvents。
BuildManagerEvents 应用于根据自定义工具的输出生成的临时程序集的相关事件。
有关BuildManager 对象的更多信息,请参见 BuildManager 对象介绍。
有关特定于项目类型的事件的完整列表,请参见 事件对象(特定于项目的类型)。
有关通用自动化事件的列表,请参见 自动化事件对象。
将下面的方法调用添加到 OnConnection 方法。
C#publicvoid OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) { _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; // Call the WebReferenceEventsSample method. WebReferenceEventsSample (_applicationObject); } 使用以下声明在 OnConnection 方法下面直接添加 WebReferenceEventsSample 方法声明。
C#publicvoid WebReferenceEventsSample(DTE2 dte) { Solution2 soln = (Solution2)_applicationObject.Solution; Project proj; VSProject2 vsproj; String webServiceRef; proj = soln.Projects.Item(1); } proj = soln.Projects.Item(1); 声明要求运行此示例时在 Visual Studio 集成开发环境 (IDE) 中打开项目。
特别要求项目必须是 Visual Basic 或02Visual C# 项目,因为 VSLangProjWebReferencesEvents 对象特定于这些项目类型。
向WebReferenceEventsSample 方法添加以下代码,从而将项目强制转换为 VSProject2 对象。
C#// Get a reference to the VSProject2 object. vsproj = (VSProject2)proj.Object; 在WebReferenceEventsSample 方法的自动化模型中检索事件对象。
C# webRefEvents = vsproj.Events2.VSLangProjWebReferencesEvents; 在WebReferenceEventsSample 方法中,连接事件处理程序。
C# webRefEvents.OnAfterWebReferenceAdded += new _dispVSLangProjWebReferencesEvents_OnAfterWebReferenceAddedEventHandler (webRefEvents_OnAfterWebReferenceAdded); webRefEvents.OnBeforeWebReferenceRemoved += new _dispVSLangProjWebReferencesEvents_OnBeforeWebReferenceRemovedEventHandler (webRefEvents_OnBeforeWebReferenceRemoved); webRefEvents.OnWebReferenceChanged += new _dispVSLangProjWebReferencesEvents_OnWebReferenceChangedEventHandler (webRefEvents_OnWebReferenceChanged); 在WebReferenceEventsSample 方法中,向项目添加对 Web 服务的引用。
C#// Add a Web reference to the folder.// Replace the "" with an actual Web service. MessageBox.Show("Adding a Web reference.", "Information"); webServiceRef = ""; vsproj.AddWebReference(webServiceRef); 若要以编程方式向项目添加对 Web 服务的引用,必须将代码中的占位符文本 替换为实际 Web 服务的 URL。
运行此外接程序时,此步骤会导致 OnAfterWebReferenceAdded 事件。
在WebReferenceEventsSample 方法下面,为每个与事件对象相关的事件添加过程。
C#void webRefEvents_OnWebReferenceChanged(object pDispatch) { MessageBox.Show("A Web reference was changed."); } void webRefEvents_OnBeforeWebReferenceRemoved(object pDispatch) { MessageBox.Show("A Web reference was removed."); } void webRefEvents_OnAfterWebReferenceAdded(object pDispatch) { MessageBox.Show("A Web reference was added." + pDispatch.Name); } 最后,为了防止在关闭外接程序后 Visual Studio 继续监视与窗口相关的事件而减慢系统的运行速度,请禁用 OnDisconnection 方法中的事件处理。
C#publicvoid OnDisconnection(ext_DisconnectMode disconnectMode, ref Array ...
大佬们~VisualStudio中vb.net如何画三角函数图像?
VB系统的坐标原点在左上角,X轴的正方向是水平向右,而Y轴的正方向是垂直向下。
所以,要绘制三角函数的曲线,自己可以通过改变点坐标的方法来实现,当然,VB.NET提供了相应的方法可以来实现坐标变换,也可以通过VB.Net的Graphics类提供的平移、旋转等转换来实现。
下面是我通过自己变换实现的示例,提供参考;我的环境是VB.NET 2010Imports System.MathPublic Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click'1,获得一个Graphics对象Dim MyGraphics As GraphicsMyGraphics = PictureBox1.CreateGraphics'2,定义一个Pen对象,用于绘制图形(轮廓线)Dim MyPen As New Pen(Color.Black, 1)'3,定义一个Brush对象,用于填充图形(如果需要填充的话)Dim MyBrush As New SolidBrush(Color.Orange)MyGraphics.DrawLine(MyPen, 0, 200, 700, 200)End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click'1,获得一个Graphics对象Dim MyGraphics As GraphicsMyGraphics = PictureBox1.CreateGraphics'2,定义一个Pen对象,用于绘制图形(轮廓线)Dim MyPen As New Pen(Color.Black, 1)'3,定义一个Brush对象,用于填充图形(如果需要填充的话)Dim MyBrush As New SolidBrush(Color.Orange)'声明横向和纵向比例变量Dim Heng As Integer = 20Dim Zong As Integer = 50'先获得正弦值,保存到点坐标数组Dim MyPoints(700) As PointDim i As IntegerFor i = 0 To 700MyPoints(i) = New Point(i * Heng, 200 + Sin(i) * Zong)Next'采用绘制光滑线连接点的方式绘制曲线MyGraphics.DrawCurve(MyPen, MyPoints)End SubEnd Class显示的效果图:
如何以异步方式调用的 Visual C# 方法
以异步方式调用的函数会导致系统调用的函数继续进行其他工作的同时在后台辅助线程上执行它们。
在典型 (同步) 函数的调用该函数上相同的线程进行调用的立即执行。
调用函数等待调用完成,并接收在继续之前调用的结果。
通过与之相反时进行异步调用,您检索异步调用以后的结果。
本文演示如何使用 Visual C# 执行此操作。
要求下面的列表概述了建议的硬件、 软件、 网络的基础结构和所需的服务包: Microsoft Windows 2000 或 Windows XP 或 Windows Server 2003visual Studio.net 或 Visual Studio 2005本文假定您熟悉下列主题: 调用的方法在 Visual C# 中如何使用委托如何生成异步调用通过使用委托进行异步调用。
委托是包装函数的对象。
委托提供同步功能,并且还提供方法以异步方式调用将被包装的函数。
这些方法为 BeginInvoke() 和EndInvoke()。
根据委托包装的函数的签名不同,这些方法的参数列表也会有所不同。
请注意,Visual Studio.net 智能感知功能不会显示 BeginInvoke() 和EndInvoke(),因此看不到它们出现在该函数列出了您键入时。
BeginInvoke() 用于启动异步调用。
它具有相同的参数作为该包装函数以及将在本文内下文中描述的两个附加参数。
BeginInvoke() 立即返回,并不会等待异步调用完成。
BeginInvoke() 返回IAsyncResult 对象。
EndInvoke() 函数用于检索异步调用的结果。
可以随时在 BeginInvoke() 后对其进行调用。
如果异步调用未完成还,EndInvoke() 块直到它完成。
EndInvoke() 函数的参数包括在 out 和ref 参数的被包装的函数具有,以及由 BeginInvoke() 返回该 IAsyncResult 对象。
下面是一个委托和其 BeginInvoke() 和EndInvoke() 方法的示例:// The following delegate delegate string MethodDelegate(int iCallTime, out int iExecThread) ; // will have the following BeginInvoke() and EndInvoke methods: IAsyncResult MethodDelegate.BeginInvoke(int iCallTime, out int iExecThread, AsyncCallback cb, object AsyncState); string MethodDelegate.EndInvoke (out int iExecThread, IAsyncResult ar) ; 有四个常见的方式,可使用 BeginInvoke() 和EndInvoke() 来进行异步调用。
调用 BeginInvoke() 后,您可以: 还可以执行一些其他操作,然后使用 EndInvoke()。
获取由 IAsyncResult 对象提供一个 WaitHandle、 使用其 WaitOne 方法将阻塞,直到 WaitHandle 处于终止状态,然后调用 EndInvoke()。
轮询以确定完成异步调用后,然后调用 EndInvoke()IAsyncResult 对象。
使系统在调用指定的回调函数。
此回调函数调用 EndInvoke() 并完成时处理异步调用的结果。
下面的代码示例演示这些调用模式,通过使用下面的函数进行同步调用对它们进行对比:string LongRunningMethod (int iCallTime, out int iExecThread) { Thread.Sleep (iCallTime) ; iExecThread = AppDomain.GetCurrentThreadId (); return "MyCallTime was " + iCallTime.ToString() ; } LongRunningMethod() 模拟通过休眠长时间运行的函数。
它将返回休眠时间和执行它的线程的 ID。
如果您调用其异步,就会发现正在执行的线程的线程 ID 是不同的调用线程。
第一步是定义的函数委托:delegate string MethodDelegate(int iCallTime, out int iExecThread) ; 示例1: 同步调用的方法此示例演示如何通过使用 MethodDelegate 委托同步调用 LongRunningMethod()。
其他示例对比这通过以异步方式进行调用。
启动Microsoft Visual Studio.net 或 Microsoft Visual Studio 2005。
创建一个名为 AsyncDemo 的新的 Visual C# 控制台应用程序项目。
添加一个名为 AsyncDemo 到项目中,新的.cs 文件如下定义的类:using System; using System.Threading ; using System.Windows.Forms ; public class AsyncDemo { string LongRunningMethod (int iCallTime, out int iExecThread) { Thread.Sleep (iCallTime) ; iExecThread = AppDomain.GetCurrentThreadId (); return "MyCallTime was " + iCallTime.ToString() ; } delegate string MethodDelegate(int iCallTime, out int iExecThread) ; public void DemoSyncCall() { string s ; int iExecThread; // Create an instance of a delegate that wraps LongRunningMethod. MethodDelegate dlgt = new MethodDelegate (this.LongRunningMethod) ; // Call LongRunningMethod using the delegate. s = dlgt(3000, out iExecThread); MessageBox.Show (string.Format ("The delegate call returned the string: \"{0}\", and the thread ID {1}", s, iExecThread.ToString() ) ); } } 以后,此类演示如何进行异步调用。
最初,但是,它只包含演示如何同步调用该委托将 DemoSyncCall() 方法。
在Visual Studio 自动创建在您的项目中的 Main 函数的正文中添加以下代码:static void Main(string[] args) { AsyncDemo ad = new AsyncDemo () ; ad.DemoSyncCall() ; } 按CTRL + F5 运行应用程序。
示例2: 将调用一个方法异步使用 EndInvoke() 呼叫图案在这一节中示例异步调用相同的方法。
调用模式使用的是调用 BeginInvoke,做一些工作在主线程上,然后调用 EndInvoke()...
C#/.NET 好学吗?
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadTimer1.Enabled = TrueEnd SubPrivate Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.TickForm2.Show()Form1.Close()Timer1.Enabled = FalseEnd Sub把timer1的interval属性设置为你要的秒数X*1000(因为这个属性值是以MS为单位的)
安装SQL时候Microsoft.NET应用程序安全性规则不适用是什么原因
Analysis services 2000的简介 适用于:Microsoft? SQL Server? 2000 Analysis Services 摘要:学习如何使用 Microsoft XML for Analysis Provider 附带的连接池对象来开发 适用于 Microsoft SQL Server 2000 Analysis Services 的可伸缩客户端和 Web 应用程序 目录 简介 读者 连接池对象 使用连接池对象 请求和返回连接 平衡和收缩连接池 ADOConPool 对象 OLEDBConPool 对象 小结 其他信息 简介 资源管理是开发可伸缩客户端和基于 Web 的应用程序时需要考虑的一个重要问题。
在构 造可为许多并发用户提供服务的客户端应用程序时,资源管理的指导原则是尽可能迟地分配资 源,并尽可能早地解除资源分配。
资源(例如内存、进程线程以及网络或数据库连接)的可用 性与客户端应用程序的性能和用户的满意程度直接相关。
因此,随着客户端应用程序的不断扩 通过对资源管理进行进一步的控制,连接池可以降低可伸缩性的影响。
连接池使客户端应 用程序能够在连接池与给定资源之间建立连接,而不需要在每次使用时都重新建立连接。
在连 接池中建立连接之后,客户端应用程序可以重复使用该连接,而不必执行完整的连接过程。
因为客户端应用程序不需要重复地建立和关闭连接,使用池缓冲的连接会显著提高连接性 能。
此过程所需的时间对使用滞后时间较长的资源(例如 Internet 或网络连接)的客户端应 用程序来说尤其重要。
当客户端应用程序不再需要连接时,该连接就返回到连接池。
除了可以提高性能以外,使用连接池还可以更有效地管理资源,同时又不会给客户端应用 程序增加额外的资源管理费用。
连接池管理器可以根据需要分配和解除分配连接以维护连接池 为了支持使用 Microsoft SQL Server 2000 Analysis Services 的 Web 客户端应用程序 的可伸缩性需要,Microsoft XML for Analysis Provider 中已经实现了连接池功能。
XML for Analysis Provider 会自动使用连接池,另外也可以对其他不需要使用由提供程序本身提 供的 XML 连接的客户端应用程序使用此功能。
本文旨在介绍一些对象,通过它们可以充分利 用 Analysis Services 客户端应用程序中的连接池。
读者 本文假定读者具备 SQL Server 2000 Analysis Services 以及 Microsoft ActiveX? 数据对象 (ADO) 和 OLE DB 数据访问技术的基础知识。
有关示例可在 Microsoft Visual Basic? 和 Microsoft Visual C++? 中找到。
连接池对象 XML for Analysis Provider 中提供了两个对象:ADOConPool 和 OLEDBConPool。
ADOConPool 对象用于管理 ADO 连接对象;OLEDBConPool 对象用于管理 OLE DB 会话对象。
虽然两种对象提供的连接池类型不同,但是它们均使用了相同的基础机制来管理连接池。
在本 文中讨论这种共享的机制时,用术语“连接”来描述 ADO 连接对象和 OLE DB 会话对象。
连接池机制仅适用于 Microsoft SQL Server 2000 Service Pack 1 (SP1) 中包含的、已 经过更新的 Microsoft OLE DB Provider for OLAP Services 8.0 (MSOLAP.2) OLE DB 提供 使用连接池对象 在支持 ADO 或 OLE DB 数据访问技术的编程语言中,可以使用 ADOConPool 和 OLEDBConPool 对象。
但是,要在 Visual C++ 程序中使用这些对象,必须在程序中添加以下 编译器指令以包含正确的头文件和属性: "tagPROPVARIANT") rename("_LARGE_INTEGER","") rename("_ULARGE_INTEGER","") using namespace MSXmlAnalysisSCLib; 请求和返回连接 从连接池请求连接所用的机制不同于 OLE DB 资源池对基于 Web 的应用程序进行快速访 问所用的机制。
连接池对象将活动连接池分成两组:“可用连接”和“已用连接”。
可用连接 由当前未分配给客户端应用程序的连接组成;已用连接是指当前已分配给客户端应用程序并被 连接请求需要采用特殊的身份验证和模拟机制。
当通过应用程序请求连接时( ADOConPool 对象使用 GetConnection 方法,而 OLEDBConPool 对象使用 GetSession 方法) ,连接池试图检索可用连接,检索条件是该连接使用的域名和用户名与客户端应用程序所用的 安全标识符 (SID) 相同。
如果找到匹配的可用连接,则将其返回到客户端应用程序。
如果未找到与客户端 SID 信息匹配的连接,连接池对象就会对客户端请求中传递的连接 信息进行分析,以确定连接池中是否已经存在同一个请求数据库的可用连接。
如果找到匹配的 数据库,连接池对象就会尝试将客户端请求的角色安全性与现有可用连接的角色安全性进行匹 配。
如果发现角色安全性是匹配的,连接池对象会接着比较可用连接的用户名和客户端请求的 用户名。
如果用户名也匹配,则将可用连接返回到客户端应用程序。
如果用户名不匹配,则根 据 Analysis 服务器上的角色安全性,使用客户端请求的域和用户名重新验证可用连接,然后 如果未找到匹配的角色安全性和数据库,则在连接池中创建一个新的连接并将其分配给发 与资源共享通常采用的方法相比,此方法还具备一个优点,即发出请求的客户端应用程序 可以重复使用具有同一角色安全性权限的现有活动连接,即使该连接最初是由其他用户请求的 。
与可用连接相关联...
如何使用 Visual C#来自动执行 Office 程序的运行实例
本文分步骤介绍如何从 Visual C# .NET 自动化客户端调用 Office 宏。
通过使用 Microsoft Office 自动化,您可以打开或创建一个新的包含 Visual Basic for Applications (VBA) 宏的文档并在运行时执行该宏。
下面的自动化客户端示例根据您在窗体上的选择操纵 Office 自动化服务器(Access、Excel、PowerPoint 或 Word)。
当客户端启动自动化服务器后,将打开一个文档并接着调用两个宏。
第一个宏是 DoKbTest,它没有参数。
第二个宏是 DoKbTestWithParameter,有一个“String”类型的参数。
创建包含宏的 Office 文档创建一个名为 C:\Doc1.doc 的 Word 文档。
为此,请按照下列步骤操作:在 Word 中,创建一个新文档。
按 Alt+F11 打开 Visual Basic 编辑器。
在“插入”菜单上,单击“模块”。
将下面的宏代码粘贴到新模块中:'Display a message box that displays the application name.Public Sub DoKbTest() MsgBox "Hello from " & Application.NameEnd Sub'Display a message box with the string passed from the'Automation client.Public Sub DoKbTestWithParameter( sMsg As String ) MsgBox sMsgEnd Sub关闭 Visual Basic 编辑器,保存该 Word 文档,然后退出 Word。
使用与创建 Word 文档类似的步骤,创建一个名为 C:\Book1.xls 的 Excel 工作簿。
使用与创建 Word 文档类似的步骤,创建一个名为 C:\Pres1.ppt 的 PowerPoint 演示文稿。
创建一个名为 C:\Db1.mdb 的新 Access 数据库。
为此,请按照下列步骤操作:在“插入”菜单上,单击“模块”。
将宏代码粘贴到该新模块中。
保存该模块,然后退出 Access。
创建 Visual C# .NET 自动化客户端启动 Microsoft Visual Studio .NET。
在“文件”菜单上,单击“新建”,然后单击“项目”。
在“项目类型”下,单击“Visual C# 项目”,然后单击“模板”下的“Windows 应用程序”。
默认情况下会创建 Form1。
添加对 Access、Excel、PowerPoint 和 Word 对象库的引用。
为此,请按照下列步骤操作:在“项目”菜单上,单击“添加引用”。
在“COM”选项卡上,找到“Microsoft Word 10.0 对象库或 Microsoft Word 11.0 对象库”,然后单击“选择”。
注意:如果您使用的是 Office XP 且尚未执行此操作,Microsoft 建议您下载并安装 Microsoft Office XP 主互操作程序集 (PIA)。
有关 Office XP PIA 的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:328912 Microsoft Office XP 主互操作程序集 (PIA) 可供下载为 Access、Excel 和 PowerPoint 对象库重复上一步。
在“添加引用”对话框中,单击“确定”以接受您的选择。
如果系统提示您为选定的库生成包装,请单击“是”。
在“视图”菜单上,单击“工具箱”。
向 Form1 添加一个“Combo Box”控件和一个“Button”控件。
双击“Button1”为按钮的“Click”事件处理程序生成定义。
将下面的代码粘贴到“button1_Click”处理程序中:private void button1_Click(object sender, System.EventArgs e){ // Object for missing (or optional) arguments. object oMissing = System.Reflection.Missing.Value; //Switch based on the user selection. switch (comboBox1.SelectedIndex) { case 0: // Create an instance of Microsoft Access, make it visible, // and open Db1.mdb. Access.ApplicationClass oAccess = new Access.ApplicationClass(); oAccess.Visible = true; oAccess.OpenCurrentDatabase("c:\\db1.mdb", false, ""); // Run the macros. RunMacro(oAccess, new Object[]{"DoKbTest"}); RunMacro(oAccess, new Object[]{"DoKbTestWithParameter", "Hello from C# Client."}); // Quit Access and clean up. oAccess.DoCmd.Quit(Access.AcQuitOption.acQuitSaveNone); System.Runtime.InteropServices.Marshal.ReleaseComObject (oAccess); oAccess = null; break; case 1: // Create an instance of Microsoft Excel, make it visible, // and open Book1.xls. Excel.ApplicationClass oExcel = new Excel.ApplicationClass(); oExcel.Visible = true; Excel.Workbooks oBooks = oExcel.Workbooks; Excel._Workbook oBook = null; oBook = oBooks.Open("c:\\book1.xls", oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing); // Run the macros. RunMacro(oExcel, new Object[]{"DoKbTest"}); RunMacro(oExcel, new Object[]{"DoKbTestWithParameter", "Hello from C# Client."}); // Quit Excel and clean up. oBook.Close(false, oMissing, oMissing); System.Runtime.InteropServices.Marshal.ReleaseComObject (oBook); oBook = null; System.Runtime.InteropServices.Marshal.ReleaseComObject (oBooks); oBooks = null; oExcel.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject (oExcel); oExcel = null; break; case 2: // Create an instance of PowerPoint, make it visible, // and open Pres1.ppt. PowerPoint.ApplicationClass oPP = new PowerPoint.ApplicationClass(); oPP.Visible = MsoTriState....
如何使用 Visual C#创建线程
创建包含线程的 Visual C# 应用程序1. 启动 Microsoft Visual Studio .NET、Microsoft Visual Studio 2005 或 Microsoft Visual C# 2005 速成版。
2. 新建一个名为 ThreadWinApp 的 Visual C# Windows 应用程序项目。
3. 向窗体中添加一个“按钮”控件。
默认情况下,此按钮名为“Button1”。
4. 向窗体中添加一个“ProgressBar”组件。
默认情况下,此进度栏名为“ProgressBar1”。
5. 右键单击该窗体,然后单击“查看代码”。
6. 将以下语句添加到该文件的开头:using System.Threading;7. 为“Button1”添加以下“Click”事件处理程序:private void button1_Click(object sender, System.EventArgs e){MessageBox.Show("This is the main thread");} 8. 将以下变量添加到“Form1”类中:private Thread trd;9. 将以下方法添加到“Form1”类中:private void ThreadTask(){int stp;int newval;Random rnd=new Random();while(true){stp=this.progressBar1.Step*rnd.Next(-1,2);newval = this.progressBar1.Value + stp;if (newval > this.progressBar1.Maximum)newval = this.progressBar1.Maximum;else if (newval < this.progressBar1.Minimum)newval = this.progressBar1.Minimum;this.progressBar1.Value = newval;Thread.Sleep(100);}}注意:这是线程的底层代码。
此段代码是一个无限循环,它随机增加或减小“ProgressBar1”中的值,然后等待 100 毫秒后再继续。
10. 为“Form1”添加以下“Load”事件处理程序。
此段代码将新建一个线程,使该线程成为后台线程,然后启动该线程。
private void Form1_Load(object sender, System.EventArgs e){Thread trd = new Thread(new ThreadStart(this.ThreadTask));trd.IsBackground = true;trd.Start();}
转载请注明出处51数据库 » visual object net