vb.net语句反复调用 vbnet for循环语句

(vb.net)动态添加的控件如何多次响应事件?熟悉VB的朋友对使用ActiveX控件一定不会陌生 , 众多控件极大地方便了编程 , 但
唯一的缺陷是不能动态加载控件 , 必须在设计时通过引用,将控件放置在窗体上 。
VB6.0已能够解决该问题,只是帮助中没有明确说明,并且没有描述到一些关键功能,
由于以前的版本中可以动态创建进程外服务:如果对象是外部可创建的,可在Set语
句中用New关键字、CreateObject或GetObject从部件外面将对象引用赋予变量 。
如果对象是从属对象 , 则需使用高层对象的方法,在Set语句中指定一个对象引用:
DimxlApp1AsExcel.Application
SetxlApp1=NewExcel.Application

DimxlAppAsObject'定义存放引用对象的变量 。
SetxlApp=CreateObject("excel.application")
xlApp.Visible=True
----这些语法很容易造成误导,以为动态加载ActiveX控件也是此方法,可能有朋友也
象vb.net语句反复调用我一样利用CreateObject尝试了无数次,却无功而返,不知微软公司是出于何种考
虑,动态加载ActiveX控件是扩展控件集合的方式实现,通过实际摸索 , 终于就如何实
现动态ActiveX控件找出了一条切实可行的方法,下面以一个具体的实例来详细说明 。
一、ActiveX控件
----ActiveX控件是VisualBasic工具箱的扩充部分 。使用ActiveX控件的方法与
使用其它标准内装的控件,如CheckBox控件,完全一样 。在程序中加入ActiveX控
件后,它将成为开发和运行环境的一部分,并为应用程序提供新的功能 。
----ActiveX部件通过客户端/服务器关系与应用程序—及与部件相互之间—交互作
用 。客户端是使用部件功能的应用程序代码或部件 。服务器是部件及其关联的对象 。例
如,假设应用程序使用ActiveX控件来提供一个标准的雇员窗体,供公司的多种应用
程序使用 。提供雇员窗体的ActiveX控件就是服务器,使用这个控件的应用程序就是
服务器的客户端 。
二、加载方法
----VB6.0中对Controls集合进行了扩展 , 以前版本中Controls集合在窗体上列举出
已加载的控件,这在迭代过程中是很有用的 。Controls集合标识一个叫做Controls
的内在窗体级变量 。如果忽略可选的object所在处的整数 , 则关键字Controls必须
包括在内 。vb.net语句反复调用我们通常在窗口中使用如下代码:
Text1.Text="Hello,world"
其实也可以使用如下代码达到同一目的:
Controls(1).Text="Hello,world"
----在VB6.0中除了原来的Clear、Remove方法外(很奇怪,为什么微软在VB5.0中只提
供这两种方法 , 而没有提供Add方法 , 因为没有Add,这两种方法也就没什么用处),增
加了Add方法 , 该方法就是用于动态加载控件的:
【vb.net语句反复调用 vbnet for循环语句】Controls.Add(progidasString,NameasString);
progid:ActiveX部件的ProgID,如:"VB.CheckBox"vb.net语句反复调用;
Name:ActiveX部件加载后的名称,如:"MyCheckBox";
若要在窗体上添加一个名为MyButton的按钮 , 可以使用:
dimoControlasObject'窗体级变量
注意:这里声明为Object对象类型
PrivateSubLoadControl()
SetoControl=Controls.Add
("VB.CommandButton","MyButton")
oControl.Left=10
oControl.Top=10
oControl.Visible=True'使控件可见
EndSub
----这是VB6.0的标准语法,它在例程中也是如此演示的,不过该方法虽然现实了控件
的动态加载 , 按钮显示在窗体上 , 可以象普通按钮一样按下去,但加载的控件不能预先
设计响应事件代码,如:事件SubMyButton_Click()将是非法的 , 当然,可以将要响应
的事件封装在控件内部 。就编程的观点来看该方法没什么大的用处,开发ActiveX控件
的目的是为了资源共享,为了被其vb.net语句反复调用他开发人员利用 , 所以要提供必要的事件接口,显然
利用该方法不行,通过分析VBControls等相关对象,找出VBControlExtender对象与
EventInfo相结合能提供事件陷井捕捉,VBControlExtender对象对动态添加控件特别有
用,它提供了一套通用的属性、方法、事件给开发人员,它的一个突出特点是能编程设
计控件的事件,熟习类编程的朋友对带事件的对象声明一定不会陌生:
----DimWithEventsobjElemtasCElemtVBControlExtender也不例外,声明的语法
一样,只不过它有个特殊的事件ObjectEvent(InfoAsEventInfo),它能捕捉到对象使
用RaiseEvent产生的所有事件,EventInfo数据结构映射了事件的名称、参数个数和参
数的值 。VBControlExtender和EventInfo相结合,采用SelectCase就可以预先将不
同类对象的事件放置一起 , 各自独立运作 。将上面的代码改写一下就能提供Click事件
了:
----DimWithEventsoControlAsVBControlExtender'带事件声明声明之后您就可
以在代码窗口的左上角的对象下拉框中发现该对象出现了 , 也就是说,该对象有了事件
或方法了,它的事件有DragDrop,DragOver,LostFocus,GotFocus,ObjectEvent
和Validate , 其中ObjectEvent是通用的事件捕捉 。
PrivateSubLoadControl()
SetoControl=Controls.Add
("VB.CommandButton","MyButton")
oControl.Visible=True
EndSub
PrivateSuboControl_ObjectEvent(InfoAsEventInfo)
SelectCaseInfo.Name
Case"Click"'Click事件
'您可以添加处理Click事件代码
MsgBox"您按了MyButton!"
CaseElse'其他事件
'Handleunknowneventshere.
EndSelect
EndSub
----当然对微软提供的标准控件能采用该方法添加 , 大家都不会怀疑,但自己开发的
控件也能吗?答案是肯定的,我们可以用一个实际的例子进行说明 。
vb.net 关于循环语句我写vb.net语句反复调用了一段代码,注意vb.net语句反复调用你读取vb.net语句反复调用的方法,我改进了一下Imports System.IO‘代码窗体的最上端一定要声明
Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sr As StreamReaderDim TextBox As Control
Dim i As Integer
i = 1
For Each TextBox In Me.Controls
If TypeName(TextBox) = "TextBox" Thensr = New StreamReader("c:\save\"i".ini", System.Text.Encoding.Default) ’注意选择编码方式 , 按你原来的方法,未设置编码,显示的是乱码!路径请按你的情况改!TextBox.Text = sr.ReadToEnd()
i= 1End If
Next
MsgBox("已经载入"i - 1"个文件")End Sub注意vb.net语句反复调用:这样的代码是倒序的 , 第一个文本框显示的是最后一个文件的内容!请酌情处理!
vb.net中关于循环语句 求教大家弱智的问题要弄清楚这两个问题vb.net语句反复调用,就要明白For循环语句vb.net语句反复调用的语法规则:
For循环语句,首先是判断循环条件,如果循环条件不合理,则循环不执行 。
那么看第一个语句,循环范围是 i = -3.5 to 5.5,显然这个是一个从-3.5到5.5vb.net语句反复调用的递增范围,可是后面的Step却是一个负数,表示以0.5的步长递减 。取值范围要求从小到大 , 可是步长改变却是由大变小,显然这个循环条件自相矛盾,所以循环将不会执行,也就是循环执行的次数是0次!
如果循环条件合理,则开始执行循环语句,直到根据步长变换,下一个值超出循环范围则终止 。
For j = 6 to 2 Step -2
Next
完整写法就是:
For j = 6 to 2 Step -2
Next j
Next j的意思就是下一个j值 。结合本题 , 下一个j值等于6-2=4,这个时候 , 就是循环语句的第二个规则,判断循环变量的值是否超出循环范围 , 我们这里的j=4,显然是在6 to 2这个范围之内 , 所以循环继续,到下一个j的时候为2 , 依然在循环范围内vb.net语句反复调用;到这里,6,4,2我们的循环执行了3次,准备第4次循环的时候j = 2 -2 = 0超过了6 to 2这个范围,那么循环终止 。
所以i循环内的每一个j循环将执行3次 。
VB.net语言编程 , 反复调用SQL语句编写的数据读取函数来读取数据库Access中的数据,出现崩溃的问题下面这段代码中,myReader,myCon的关闭应在WHILE循环外 。这还不是主要问题,如果你只读取首行首列不要用OleDbDataReader , 直接用myCommand.ExecuteScalar就可以了,只要判断一下myCommand.ExecuteScalar返回是否为nothing就行 。效率会高很多 。
While myReader.Read
If myReader.Item(0) Is System.DBNull.Value Then
Return ""
Else
Return myReader.Item(0)
End If
myReader.Close()
myCon.Close()
End While
vb.net一个vb调用另一个vb的方法在VB.NET中,可以使用“Call”语句来调用另一个VB文件中的方法 。使用“Call”语句,可以在一个VB文件中调用另一个VB文件中的方法,从而实现不同文件之间的调用 。
首先 , 需要在调用方法的VB文件中声明另一个VB文件中的方法,以便编译器能够识别该方法 。声明的方式如下:
Declare Sub 另一个VB文件中的方法名 Lib “另一个VB文件的路径” ()
其中 , 另一个VB文件中的方法名是另一个VB文件中要调用的方法的名称,另一个VB文件的路径是另一个VB文件的完整路径 。
接下来 , 就可以使用“Call”语句来调用另一个VB文件中的方法了,语句格式如下:
Call 另一个VB文件中的方法名 (参数1 , 参数2,…… , 参数n)
其中,另一个VB文件中的方法名是另一个VB文件中要调用的方法的名称,参数1 , 参数2,……,参数n是传递给另一个VB文件中要调用的方法的参数 。
最后,就可以在调用方法的VB文件中调用另一个VB文件中的方法了 。通过以上步骤,就可以在VB.NET中实现一个VB文件调用另一个VB文件中的方法了 。
vb.net语句反复调用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vbnet for循环语句、vb.net语句反复调用的信息别忘了在本站进行查找喔 。

    推荐阅读