vb.net中的with VBNET有什么用

vb.net 将picturebox控件放入panel中会出错“未设置对象变量或 With 块变量。”但移出panel就不会出错?

Public Class Form1

成都创新互联于2013年创立,先为甘州等服务建站,甘州等地企业,进行企业商务咨询服务。为甘州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

Dim pArray As New ArrayList()

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

For i = 1 To 7 '7个picturebox变数组 

Dim pic As New PictureBox()

pic.Image = Image.FromFile(Application.StartupPath  "\image\rred.jpg")

pArray.Add(pic)

Next '改变第二个背景图片 

Me.BackgroundImage = CType(pArray(1), PictureBox).Image

'pArray(1).BackgroundImage = Image.FromFile(Application.StartupPath  "\image\rred.jpg")

End Sub

End Class

VB.NET在声明sub时的 with……end with加不加有什么区别吗?

不加也是一样的效果,就是比较麻烦一点要写多行类的头

比如不加with:

objstuHead.name ="张三"

objstuHead.name(1) ="Dav"

objstuHead.name(2) ="adfad"

objstuHead.name(3) ="adfeqw"

如果加with:

with objstuHead

.name ="张三"

.name(1) ="Dav"

.name(2) ="adfad"

.name(3) ="fqwtwa"

end with

所以说加with 就可以省去写好多的objstuHead 的头。意思是不用一直重复的写对象,而且用with 也比较方便读一段代码

vb.net 类中 定义了 dim withevents mpc as picturebox 还有picturebox的paint 事件 该怎么使用这个类

大体看一下这个类里的事件都是私有的(Private) 如果想在窗体中使用这个事件就把类中事件前的Private关键字改成Public如:

Public Sub PicCurve_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PicCurve.Paint

在窗体中调用的方法就是实例化类就行了。因为这个类有NEW所以在实例化的时候要赋参数

代码如下数值是我临时写的。调用的时候你根据实际情况改一下就行。参数PictureBox1是在窗体上添加的PictureBox控件。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim AA() As Single = {0.1, 1.2, 1.5, 1.6, 1.8}

Dim clsPaint As New bbbb(PictureBox1, AA, "PictureBox_1")

clsPaint.PicCurve_Paint(Me, Nothing)

End Sub

vb.net中 withevents有什么用? 好像这个东西只能跟类挂钩

EVENT事件不是过程,要处理事件要用到HANDLES 或ADDHANDLER 将事件处理过程关联起来:

PUBLIC EVENT USERNAME()

SUB DOENENT() HANDLES ME.USERNAME

触发事件用RAISEEVENT USERNAME

所以WITHEVENTS是声明该类有事件过程而已

vb.net WithEvents是什么作用啊

其实是一个定义变量时候的修饰符,指的是被修饰的变量拥有所定义的类的属性和方法。

举个最简单的例子:

Public Class Form1

Dim WithEvents a As Form1

Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click

a = Me

a.Text = "abc"

a.Close() 

End Sub

End Class

这里定义了一个名为 a 的 Form1 类型的变量,加上 WithEvents 修饰就是说这个 a 拥有了 Form1 这种类型的属性和方法。

a = Me,先实例化给 a 赋值成了当前窗体。

a.Text = "abc" a.Close(),a 目前就已经相当于 Form1了。

当然这是最简单的一个示范例子,实际使用中并不是这么用的。

再给个例子,题主能看明白否?

Public Class Form1

Dim WithEvents a As abc

Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click

a = New abc

a.abcd()

End Sub

End Class

Public Class abc

Sub abcd()

MsgBox("123")

End Sub

End Class

c#有类似VB里的with的语句吗

Well,事实上C#是提供了类似VB6.0和VB.NET的WITH表达式的,那就是对象初始化器

例如,

VB Code:

Private Sub Foo()

Dim theCustomer As New Customer

With theCustomer

.Name = "xxx"

.City = "广州市白云区"

End With

End Sub

Public Class Customer

Public Property Name As String

Public Property City As String

End Class

C# Code:

protected internal void Foo(){

var customer=new Customer{Name="xxx",City="广州市白云区"};

}


分享文章:vb.net中的with VBNET有什么用
文章位置:http://pwwzsj.com/article/dodicgi.html