NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 11417|回复: 7
打印 上一主题 下一主题

[个人作品] vb中timer的event

[复制链接]
跳转到指定楼层
1m
发表于 2011-3-8 15:05:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 panhao1 于 2011-3-9 23:34 编辑

本来是grasshopper视屏教程要出的关于委托和多线程的内容,这里辉哥要得急,简单点说下

首先是要声明timer类 这里声明就有两种 先说第一种

直接声明 和C#一样
  Private Sub RunScript(ByVal x As Boolean, ByVal y As Object, ByRef A As Object)
    'your code goes here…

    If s Then
  timer = New System.Windows.Forms.Timer
    timer.Interval = 100
    AddHandler timer.Tick, AddressOf Timer_Tick

      timer.Start()
      s = False
    End If
    A = int

  End Sub
  '<Custom additional code>
  Dim timer As  System.Windows.Forms.Timer
  Dim int As int32 = 0
  Dim s As Boolean = True
  Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
    int += 1
    If int > 100  Then timer.Stop():int = 0
    owner.ExpireSolution(True)
  End Sub

但是不幸的是C#可以直接+=来添加委托
而vb必须要AddHandler关键字

再就是第二种声明

Private Sub RunScript(ByVal x As Object, ByVal y As Object, ByRef A As Object)
    If s Then
      timer = New System.Windows.Forms.Timer
      timer.Interval = 100
      timer.Start()
      s = False
    End If
    A = int
  End Sub
'<Custom additional code>

  Private WithEvents timer As System.Windows.Forms.Timer
  Dim int As int32 = 0
  Dim s As Boolean = True
  Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles timer.tick
    int += 1
    If int > 100  Then timer.Stop():int = 0
    owner.ExpireSolution(True)
  End Sub

WithEvents 来声明一个带事件的类 然后用handles来接委托


看不懂没关系 复制代码就可以用
timer会从0跑到100停下来
timer。start和timer。stop可以自己设置条件
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
2m
发表于 2011-3-26 23:49:35 | 只看该作者
看不懂 不过还是支持楼主
3m
发表于 2011-3-27 00:26:42 | 只看该作者
good。。。。。。
4m
发表于 2011-5-27 23:32:18 | 只看该作者
不错,学习了
5m
发表于 2011-5-27 23:37:12 | 只看该作者
请问辉哥是?
6m
发表于 2011-7-1 13:54:53 | 只看该作者
收藏起来慢慢看
7m
发表于 2011-8-8 14:53:10 | 只看该作者
Q2-5054898-9深圳专业代聊TB深圳特服代聊&
Q:25=05489=89  156-0850288-3 深圳专业代聊TB特服代聊TB专业发帖团队TB为你带来大量客户。点击百度快照
假设看不到信息,请点击右下角“百度百度快照”。本团队是网络专业代聊,由8人组成,日手工发帖量6000,有24万论坛的数据。
Q:25=05489=89  156-0850288-3
可以让你需要传播的信息2天之内发送到各大搜索引擎(如百度,谷歌等)。就有源源不断的客户通过发出去的信息找到您的或者客户QQ。
我们通过专业,热情,耐心的介绍,打消客户的顾虑,给客户分析性价比,让客户纷纷拨打您的需要商品或者服务。
本团队自2008年创办,已有3年的历史和经验,为全国各地拥有资源或者商品的老板谋取了巨大的网络蛋糕。希望有更多的老板与联手,创造更多的财富。
……………………网络专业代聊,特服代聊,专业发帖团队,为你带来大量客户。
Q:25=05489=89  156-0850288-3
8m
发表于 2011-8-19 17:21:44 | 只看该作者
重新搜索到这篇帖子,对我非常有用。谢谢!

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-4-30 00:46 , Processed in 0.062328 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表