CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

各位大侠,我有个变量问题,想请教!

楼主mrlsr(土堆堆)2000-12-14 18:00:00 在 VB / 基础类 提问

我在一个Form的通用里定义了一个变量,可是执行unload   me之后,  
  该变量还是存在!我真是弄糊涂了!  
  我定义变量的方式是dim   n   as   integer,在退出该Form,进入下一个Form  
  后,我偶然发现,n还保持着上一个Form的值,请指教! 问题点数:30、回复次数:15Top

1 楼edyang(化石)回复于 2000-12-14 18:12:00 得分 10

在   VB   中,一个   Form   相当于一个对窗口操作的类,Unload   Me   后只是销毁窗口,而不是把类本身销毁。如果你还是用的同一个   Form   变量,n   当然保持原有的值。  
  用  
  Dim   newform   =   New   Form1  
  试试结果。Top

2 楼mrlsr(土堆堆)回复于 2000-12-14 18:20:00 得分 0

edyang大侠,可是我不能用dim   newform=   New   form1呀,因为我的Form都是事先建立好的  
  ,有没有更好的定义变量的方法,也就是说定义的变量只能在这个Form里使用,只要执行  
  了unload   me之后,这个变量就失去了作用!Top

3 楼wwwfff()回复于 2000-12-14 18:39:00 得分 0

set   n   =nothingTop

4 楼czh918(czh)回复于 2000-12-14 23:25:00 得分 0

在form_load中初始化数据  
  另edyang所说的也没有错,定义好的form也可用dim   newform=new   mydefineformTop

5 楼wxj_lake(蔚蓝的风)回复于 2000-12-15 02:14:00 得分 0

我糊涂了,你说的下一个Form是另外一个?  
  既然unload了,又如何看到里面定义的变量   n   的,你的n是否还在别处定义过?Top

6 楼mrlsr(土堆堆)回复于 2000-12-15 09:09:00 得分 0

wxj_laek,我说的下一个Form是另外一个Form,其实我现在想知道有没有更好的定义变量的方法,也就是说定义的变量只能在这个Form里使用,只要执行了unload   me之后,这个变量就失去了作用!   其实问题可以用其他办法解决,但是精益求精吗!Top

7 楼mrlsr(土堆堆)回复于 2000-12-15 09:10:00 得分 0

关于dim   newform=   new   Form1这种方法,我还是没有太明白!Top

8 楼JamesDT(James)回复于 2000-12-15 09:50:00 得分 0

在关闭frmForm前执行  
  Set   frmForm=Nothing  
  即可,干吗搞这么复杂?Top

9 楼mrlsr(土堆堆)回复于 2000-12-17 20:05:00 得分 0

我这次要试验一下JamesDT的技术!!!!!!!!Top

10 楼mrlsr(土堆堆)回复于 2000-12-18 18:26:00 得分 0

还是不行,真是越来越糊涂了?????????????Top

11 楼mrlsr(土堆堆)回复于 2000-12-19 17:28:00 得分 0

欢迎继续讨论!Top

12 楼shines(郭子)回复于 2000-12-19 19:39:00 得分 20

mrlsr:   你可能是定义了工程全局变量,请检查你的工程有没有*.bas标准模块。  
   
  如果是在   Form   的前部"通用"声明区,则此变量是窗体全局变量,只能在本Form能使用。  
  不能作用于其他窗体。  
  如果是在函数或者子程序里定义的变量,是局部变量,只能作用于该函数或子程序。  
   
  你说的现象是不可能的,除非你在标准模块里定义了工程全局变量。  
   
  为了让每一个变量都必需声明后才能使用,请在每个Form代码最前端加入:  
  Option   Explicit  
  Top

13 楼jadedrip(翡翠水滴)回复于 2000-12-19 21:01:00 得分 0

如果你用   dim   newform=   new   Form1  
  你要把工程设置为sub   main开始然后在main函数中使用  
  dim   newform=   new   Form1  
  newform.show  
  来显示窗体。  
  form1就是你做的窗体名称。show有个参数可以设为模式的显示,忘了是那个了,呵呵,不过vb会提示的。Top

14 楼BadCatw(坏猫)回复于 2000-12-19 21:09:00 得分 0

在form的load事件中将n清为零就是了  
  好象在通用里定义的变量都保存着原来的值Top

15 楼mrlsr(土堆堆)回复于 2000-12-22 12:50:00 得分 0

分数给完了Top

相关问题

  • 各位大侠帮帮忙,在一个jsp页面里头我怎么把javascript变量的值赋给servlet变量啊?
  • 我把EDIT BOX添加一个变量!为什么我MeassageBox(变量)时变量显示不出来?
  • ???各位救命,我实在晕了,关于静态变量-_-!
  • 向各位请教一个简单的变量问题
  • 请问我如何根据变量值取出另一个变量值
  • 我这个程序不用静态变量和全局变量怎么解决?
  • 动态在客户端写JS,但是浏览器提示的错误却是未声明变量,可是那个变量是我需要的值啊,请各位进来看一下,有点急!
  • 动态在客户端写JS,但是浏览器提示的错误却是未声明变量,可是那个变量是我需要的值啊,请各位进来看一下,有点急!
  • 我用Form传不到变量,各位大哥帮我看看啦!
  • 一个“TStrings”变量初始化的问题,各位大虾请帮忙!

关键词

  • 函数
  • 执行
  • me
  • 变量
  • 定义
  • 窗体
  • dim newform
  • 全局
  • 工程
  • unload me

得分解答快速导航

  • 帖主:mrlsr
  • edyang
  • shines

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo