Excel 外接程序开发(C#/VB.NET)// 把自定义窗体添加到CustomTaskPanes集合中
// ExcelHelp 是一个自定义控件类
helpTaskPane = Globals.ThisAddIn.CustomTaskPanes.Add(new ExcelHelp(""), "Excel Help");
CustomTaskPanes这个是关键,把用户控件加入到容器里
参考
VB.net可以开发小型3D图形显示软件吗?可以借助DirectX来编程 。免费3D引擎可不好找,一般来说速度比不上硬件加速后的DX,尤其令人头疼的是一般都没有针对VB的文档,LZ有这方面理想的话,自己写一个吧……
我不得不承认在VB上写DirectX的教程相当难找!如果LZ想深入研究三维图形问题,C一定要学,就算不能用C编程,起码要能把C程序翻译成VB程序 。
我自己学会DX编程花了两三个月(很浅) 。编这样一个程序难度是有点大的 。
工具:DirectX9和其针对VB的库(项目-添加引用 。.NET库里DX库一般都有) , VB不知道现在支不支持DX10以上的版本,不过9绝对够用了 。
思路:一切3D图形都是由三角形拼成的 。矩形挖掉一个圆孔可不是一个方便画的图形,我估计至少得有24个三角形 。你需要记录这些点的坐标,或者干脆把它们写在文件里,到时读出来 。
这是我的一个老DX程序的不完全的代码(显示一个黑乎乎的平面),不一定能编译,可以参考一下 。
Imports Microsoft.DirectX '一定要~
Public Class FormMain
'Direct3D Startup
Dim d3dpp As New Direct3D.PresentParameters 'DX基本参数,例如全屏还是窗口等
Public MyDevice As Direct3D.Device ‘DX基本设备,画图就靠它 。
'Matrices
Dim matWorld, matView, matProj As Matrix '世界位置矩阵,摄像机位置矩阵和透视矩阵,数学要学好啊 。
'mesh
Public MyPlane as Direct3D.Mesh ’我们的物体
Public VBPlane(3) As Direct3D.CustomVertex.PositionNormalTextured '存放顶点位置的数组
#Region "DX Core"
Public Sub InitDeviceObjects()
With d3dpp ‘以下请照抄 。
.Windowed = True ‘不全屏 。
.SwapEffect = Direct3D.SwapEffect.Discard ’双缓冲交换效果 。请百度“双缓冲”
.BackBufferFormat = Direct3D.Format.Unknown
.EnableAutoDepthStencil = True ’让DX自动管理深度缓冲
.AutoDepthStencilFormat = Direct3D.DepthFormat.D16
End With
MyDevice = New Direct3D.Device(0, Direct3D.DeviceType.Hardware, Me.Handle, Direct3D.CreateFlags.HardwareVertexProcessing, d3dpp) '创建DX设备啦!以下两句请照抄 。
MyDevice.SetRenderState(Direct3D.RenderStates.ZEnable, True) ‘Z缓冲
MyDevice.SetRenderState(Direct3D.RenderStates.NormalizeNormals, True)'法线归一化,请看相关数学书籍 。
End Sub
Public Sub RestoreDeviceObjects()
Dim PlaneIB() As Short = {0, 1, 3, 0, 2, 3} ’顶点索引信息 。
Dim AttrTable(1) As Direct3D.AttributeRange ‘顶点分组属性表
AttrTable(0).AttributeId = 0
AttrTable(0).FaceStart = 0
AttrTable(0).FaceCount = 2 ’有两个三角形
【vb.net项目开发 vb项目开发案例全程实录】AttrTable(0).VertexStart = 0
AttrTable(0).VertexCount = 4 ‘四个点
‘顶点坐标信息 。
VBPlane(0) = New Direct3D.CustomVertex.PositionNormalTextured(-500, -500, 0, 0, 0, 1, 0, 0)
VBPlane(1) = New Direct3D.CustomVertex.PositionNormalTextured(500, -500, 0, 0, 0, 1, 1, 0)
VBPlane(2) = New Direct3D.CustomVertex.PositionNormalTextured(-500, 500, 0, 0, 0, 1, 0, 1)
VBPlane(3) = New Direct3D.CustomVertex.PositionNormalTextured(500, 500, 0, 0, 0, 1, 1, 1)
MyPlane = New Direct3D.Mesh(2, 4, Direct3D.MeshFlags.Managed, Direct3D.VertexFormats.PositionDirect3D.VertexFormats.NormalDirect3D.VertexFormats.Texture1, MyDevice) ’创建物体
MyPlane.SetVertexBufferData(VBPlane, Direct3D.LockFlags.None) ‘输入顶点坐标数据
MyPlane.SetIndexBufferData(PlaneIB, Direct3D.LockFlags.None) ‘输入索引数据
MyPlane.SetAttributeTable(AttrTable) ‘输入顶点分组属性表
End Sub
Public Sub Render() ‘调用它画图
Dim vlook As New Vector3(1, 0, 0)
Dim vPos As New Vector3(0,0,0)
Dim vUp As New Vector3(0, 0, 1)
MatView = Matrix.LookAtLH(vPos, vlook, vUp) ‘计算摄像机位置矩阵
Device.SetTransform(Direct3D.TransformType.View, MatView) ‘设置当前摄像机位置矩阵为MatView 。
Dim fAspect As Single = Me.Width / Me.Height ’窗口长宽比
matProj = Matrix.PerspectiveFovLH(Math.PI / 4, fAspect, 1.0F, 10001) ‘计算透视矩阵MatProj 。
MyDevice.SetTransform(Direct3D.TransformType.Projection, matProj) ‘设置当前透视矩阵为MatProj 。
MyDevice.Clear(Direct3D.ClearFlags.TargetDirect3D.ClearFlags.ZBuffer, Color.Blue, 1.0F, 0) ’先刷蓝屏
MyDevice.BeginScene() ‘开始画
MatWorld = Matrix.Identity ’物体位于原点,不旋转
Device.SetTransform(Direct3D.TransformType.World, MatWorld) ’设置物体位置
Me.Mesh.DrawSubset(0) ‘画物体
MyDevice.EndScene() ’结束
MyDevice.Present() ‘显示在屏幕上
End Sub
Public Sub DeleteDeviceObjects() ’结束程序时放掉资源
MyPlane.Dispose()
MyDevice.Dispose()
End Sub
#End Region
Private Sub FormMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
DeleteDeviceObjects()
Windows.Forms.Cursor.Show()
End Sub
Private Sub FormMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
InitDeviceObjects()
RestoreDeviceObjects()
Windows.Forms.Cursor.Hide()
Render()
End Sub
End Class
怎么搭建一个vb.net环境.NET 的环境只有一个,就是.NET Framework
如果你是XP系统的话一般要安装4.0版本
下载的软件当然是visual studio;你可以使用visual studio2015,但是要注意开发时要选择对应的目标框架
只要在这里能看到.NET Franmework4.0就表示你安装好了
解释一下 .net 、VS、VC 和vb.net的开发环境...谢谢!1. .net是微软的语言架构,是面向对象的托管语言;VS是Visual Studio的缩写,是微软的集成开发环境 , 通过它可以设计 , 开发和调试微软平台的程序,其中包括.net,也包括不是.net的程序;VC是Visual C的缩写,是微软版本的C语言,用来开发桌面应用 , 不能做网站;VB.NET是.net中的一种语言,和原来的VB完全不同 , 可以用来开发桌面和网站,VB.net的开发环境是VS.net(目前最高版本是vs2008) 。
2. 做网站的话,需要安装VS(建议VS2008,因为更加强大),如果用SQL Server的话需要安装SQL Server(建议SQL2008,因为性能更好) 。
3. VS2005和VS2008大小差不多,完全安装4G左右,最小安装1G左右
4. 如果使用数据库建议用2008因为2000马上就要停止技术支持了 。
vb.net项目开发的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于vb项目开发案例全程实录、vb.net项目开发的信息别忘了在本站进行查找喔 。
推荐阅读
- 毕业设计一定要动态网站吗,毕业设计会上传知网吗
- sqlserver代理不自动启动,sqlserver代理无法启动
- 老外编队飞行游戏视频,外国飞行游戏
- linux命令编辑大文件,linux 编辑大文件
- php怎样建立函数数据库 如何用php创建数据库
- go语言数字货币量化,数字货币量化技术是真的吗
- css下拉框居中,css设置下拉框样式
- ps3怎么设置硬盘,ps3硬盘版怎么进入游戏
- 怎么彻底清理oracle 怎么彻底清理手机