本文向大家介绍VB.Net问题集,可能好多人还不了解VB.Net问题集,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
成都创新互联主营阜南网站建设的网络公司,主营网站建设方案,App定制开发,阜南h5微信小程序开发搭建,阜南网站营销推广欢迎阜南等地区企业咨询
今天我主要来谈一个自已不太懂的东西实在是不明智的,实在是没有人来谈,一个人默默的钻研总是很难有所成就的。在网上打入一个Vb.Net6的命题,会找到无数的解决方案。VB.Net7外国已经出了好几本很好的书,在国内总有些人不屑这个beta版。这篇拙作也只算一个”Beta”,”bug”肯定不少,看了别生气,且作铺路石,且作铺路石。
一.VB.Net7中调用不共享的方法,函数:
这个问题我在论坛发了好几天帖子,没人愿意回答。只好求助一些英文的例程。有了结果,这个实在是很简单。对于VB.Net7也相当重要。因为在VB7中包括了几乎所有API,甚至于更强大的功能。有一些是可以很简单的调用,如:
1 置窗体的透明:Form1.Opacity = 0.89(可以设置为0.xx,Opacity的意思是不透明程度)
2 开Region " Windows Form Designer generated code "前面的+号你可以看到:
Me.Text = "Form1" ‘设置窗体的标题(VB7中以text代替caption)
Me.newform2.Location = New System.Drawing.Point (6, 14) ‘设置窗体的位置坐标。
Me.BorderStyle = System.WinForms.FormBorderStyle.None
设置窗体的外观状态Me.BackgroundImage = CType(resources.GetObject("$this.BackgroundImage"), System.Drawing.Image)。
设置背景图片 Me.ShowInTaskbar = False
设置是否出现在任务栏 Me.ClientSize = New System.Drawing.Size(536, 408)
设置窗体尺寸。
VB不提倡直接一修改Region " Windows Form Designer generated code ",
你应该在属性框调节它们,但是利用这个原理,我们可以在LOAD事件中加入一些
代码。
例如:dim fhwnd1=integer:( “:”是分行的作用) dim f1 as system.winforms.form
然后定义f1的形状,
取得句柄,fhwnd1=f1.handle
同理取得名柄fhwnd2
拼合两个窗体,很容易一生成不规则窗体
当然winforms类的方法绝对不止这些,这只是最简单的了。
3 获取一个图片的信息:form1.BackgroundImage.Width(图片的宽度)
form1.BackgroundImage.Height(图片的高度)
4 一个文件:Dim filesam as System.IO.File = new System.IO.File ("sam.txt")
filesam.Delete,删除文件
filesam.Copy()
filesam.CopyTo()
filesam.Create()
filesam.CreateText()
等等。
这些只要看一下大概就知道是什么作用了,不再需要input,output了
所以我建议不要使用namespace(族名,或译为名称空间,这里的空间实际上是一个类的组合。所以我称为族名),这样打入一个族名,打点,他的子类就会以提示方式列出。
在C#中使用using namespace VB中使用Imports namespace作用是一样的。
现在的问题是有一些很重要的方法不会出现在子类的提示列表中(查一下class members)。这表示他是不共享的。
首先你应该在工程中调用他,而不要在模块中,要建立一个函数过程。要声明一个新的对象,而不要直接地使用,如:
Public Function GetPixel(ByVal x As Integer, ByVal y As Integer) As system.Drawing.Color
Dim BM As System.Drawing.Bitmap ,声明一个对象
bm = form1.BackgroundImage(BackgroundImage等同于vb6中的picture)
GETPIXEL = BM.GetPixel(X, Y)
注意:这里没有使用return关键字返回值,是基于例程的用法。
End Function
(有没有发现VB.Net7基本语法变化并不是很大,不象人们传说的可怕)
(WindowsMe因为改变太小而被人骂,VB7又因为改变太大被人骂,实在令人感慨)
然后: Private Sub Form_Load()
Call SetRgn
Dim STRTEMP As String
Dim pixcolor As System.Drawing.Color
pixcolor = GetPixel(1, 1)
STRTEMP = PIXCOLOR.ToString
Stop ‘在中断的一方,移动鼠标停在STRTEMP变量上,可以看到返回了一个像素的RGB
End Sub
二.窗体之间的数据传输
有时候我们想按下form1的BUTTON,改变form2的textbox.text。这在VB.Net6中是很简单的,在写成form2.textbox.text=”xxxxx”的就行了,在VB.Net7中却不能这样使用,这样有些麻烦,但却有利于封装性的产生。在大型的软件工程中,不至于因为类的相互紧密作用,导致调试的困难。例如一个窗体无法unload,我们无法确定是哪一个类的引用不当造成。
你可以写一个接口过程就象大部分丛VB.Net6升级到VB.Net7的软件那样。如:
- Private Shared m_vb6FormDefInstance As form1
- Public Shared Property DefInstance() As form1
- Get
- If m_vb6FormDefInstance Is Nothing Then
- m_vb6FormDefInstance = New form1()
- End If
- DefInstance = m_vb6FormDefInstance
- End Get
- Set
- m_vb6FormDefInstance = Value
- End Set
- End Property
这样在form2中你可以写form1.DefInstance.xxxx调用属性。这大概算是一种兼容的方法
实际上你应该这样写
在class form1中: Inherits System.WinForms.Form 一行的后面public fm as new form2
然后你可以象在vb6中一样,使用fm.visible=true载入窗体并在form1中控制他。
但是你却不能这样在form2中控制form1我想vb7是将form1作为默认的主窗体
应该在form2中这样写:Public fmm as system.winforms.form=form1 虽然VB.Net7声称这样写等同于Public fmm as form1 但这样你会不成功。因为fmm的值为Null,如果使用 New form1那你会看到每调用一次会出现一个新的form1!!
以上就是对VB.Net问题集的简单理解,有不足的地方希望读者查阅更多的书籍深入的去理解,这里我们就不介绍了。
当前题目:简单分析VB.Net问题集
文章源于:http://www.shufengxianlan.com/qtweb/news25/408775.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联