软糖来回答罗.
"调用事件"有歧义,你的意思是不是下面两种:
调用事件处理方法
直接调用对象名.方法名
Private?Sub?Button1_Click(sender?As?Object,?e?As?EventArgs)?Handles?Button1.Click
秒表.Start()
End?Sub
'调用它直接用
Button1_Click(me,?new?EventArgs())
引发事件
Button1.Click.Invoke(me,?new?EventArgs())
另外?RaiseEvent 也可以引发事件,但不能使用 RaiseEvent?来引发派生窗体的控件事件,只有自己定义的类的事件才能用它引发.
如满意,请采纳,谢谢.
最简单的方法是
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Control.CheckForIllegalCrossThreadCalls = False'加入这句代码就可以在别的线程访问窗体控件了
End Sub
与使用System.Windows.Forms命名空间中的控件的用法没有区别.
首先添加引用.
其次导入(Imports)命名空间.
接着就可以使用了:
①.、要使用用户控件的实例成员,就先创建一个用户控件的实例,再通过实例名.实例成员名访问;
如果你问的是怎样创建自己的用户控件类:
①.、继承类System.Windows.Forms.UserControl;
Form1.Designer.cs中将
private System.IO.Ports.SerialPort port;改为
publice System.IO.Ports.SerialPort port;
Form1.port.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(port_DataReceived);
最后在
void port_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
今天这一节进行处理就可以了;
}
这个是C#的,VB的你自己转一下
Public Class ks
Inherits System.Windows.Forms.Form
#Region " Windows 窗体设计器生成的代码 "
Public Sub New()
MyBase.New()
'该调用是 Windows 窗体设计器所必需的.
InitializeComponent()
'在 InitializeComponent() 调用之后添加任何初始化
'窗体重写 dispose 以清理组件列表.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
MyBase.Dispose(disposing)
'Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
'注意: 以下过程是 Windows 窗体设计器所必需的
'可以使用 Windows 窗体设计器修改此过程.
Friend WithEvents tx As System.Windows.Forms.TextBox
Friend WithEvents ty As System.Windows.Forms.TextBox
Friend WithEvents tz As System.Windows.Forms.TextBox
Friend WithEvents ok As System.Windows.Forms.Button
Friend WithEvents l1 As System.Windows.Forms.Label
System.Diagnostics.DebuggerStepThrough() Private Sub InitializeComponent()
Me.l1 = New System.Windows.Forms.Label
Me.tx = New System.Windows.Forms.TextBox
Me.ty = New System.Windows.Forms.TextBox
Me.tz = New System.Windows.Forms.TextBox
Me.ok = New System.Windows.Forms.Button
Me.SuspendLayout()
'
'l1
Me.l1.Name = "l1"
Me.l1.TabIndex = 0
'tx
Me.tx.Name = "tx"
Me.tx.Text = "请输入x"
'ty
Me.ty.Name = "ty"
Me.ty.Text = "请输入y"
'tz
Me.tz.Name = "tz"
Me.tz.Text = "请输入z"
'ok
Me.ok.Name = "ok"
Me.ok.Text = "ok"
'ks
Me.Controls.Add(Me.ok)
Me.Controls.Add(Me.tz)
Me.Controls.Add(Me.ty)
Me.Controls.Add(Me.tx)
Me.Controls.Add(Me.l1)
Me.Name = "ks"
Me.Text = "考试"
Me.ResumeLayout(False)
#End Region
Dim x, y, z, a, b, c, d, aa, bb, cc As Single
Dim tts, alls As Single
Private Sub ks_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
aa = x + y + z
bb = a * x + b * y + c * z
cc = b * x + c * y + d * z
l1.Text = "x+y+z=" Str(aa)
Private Sub ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ok.Click
If Val(tx.Text) = x And Val(ty.Text) = y And Val(tz.Text) = z Then
tts = tts + 1
alls = alls + 1
tx.Text = ""
ty.Text = ""
tz.Text = ""
Private Sub ks_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click
Dim lv As Single
If Not (alls = 0) Then
lv = Int(tts * 100000 / alls) / 1000
MsgBox(Str(lv) "%", , "正确率")
tx.Visible = False
ty.Visible = False
tz.Visible = False
ok.Visible = False
l1.Visible = False
Else
MsgBox("答题!", , "答题!")
End Class
建议你使用BackGroundWorker控件.将代码写入控件的事件中,使用它的Start方法就可以开始工作了.是与主程序同时进行的.
以上就是土嘎嘎小编为大家整理的vb.net控件访问相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!