窗体的初始化

San0011 2004-11-03 01:48:15
双击用户控件(.ctl)上的某一控件(如Image)之后
通过函数将用户控件中的一些参数传递给窗体Form1
并由这些参数来初始化窗体Form1上CheckBOx和OptionBox等控件的显示

问题:
在双击了之后
这些参数已经传过窗体Form1那边,并开始初始化窗体(在Form_Load中)
在窗体Form1还没出现之前(Form1.show)
用户要等一段时间,甚至时间还比较长(好几秒!!!)
我想知道怎样缩短和减少等待窗体弹出的时间
可不可以在窗体弹出之后才继续初始化窗体上的控件??
...全文
466 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
San0011 2004-11-25
  • 打赏
  • 举报
回复
结帖了
感谢大家的参与
San0011 2004-11-12
  • 打赏
  • 举报
回复
期待ing……
行云边 2004-11-12
  • 打赏
  • 举报
回复
我觉得 你的用户控件里 是直接引用窗体的名字了 譬如
Form1.Check1.Value = 1 '改变Form1里的Check1值
这里直接引用了窗口的名字Form1 ,窗体也是类 不建议使用名字引用窗体里的属性 方法,因为这样有可能不知不觉启动了另一个Form1 实例,比较合理的使用方法:
先在模块里定义一个全局变量Form1的指针(也就是没有New关键字)
Global g_frmMain as Form1 'Form1的指针
然后在Sub main 里 或 Form_load 里 使g_frmMain 指向一个实例
譬如 如果你程序是用Sub Main启动的话:
sub Main()
set g_frmMain= new form1
g_frmMain.show '不要使用Form1.show
end sub

如果你没有sub main 的话 在 启动窗口的Load事件里写上:
sub form_load()
set g_frmMain=me '使g_frmMain指向自己
end sub


这样在你的用户控件里 替换 所有“Form1.”为 “g_frmMain.”
这样的话 Form1.Check1.Value = 1 应该改成 g_frmMain.Check1.Value = 1
San0011 2004-11-12
  • 打赏
  • 举报
回复
还是会出现……
gg137zeus 2004-11-11
  • 打赏
  • 举报
回复

Form1.Refresh
doevents
zgvslch 2004-11-11
  • 打赏
  • 举报
回复
刷新一下试试
Form1.Refresh
San0011 2004-11-11
  • 打赏
  • 举报
回复
期待回复!!!!!!!!!!!!!!!!
San0011 2004-11-11
  • 打赏
  • 举报
回复
前面的问题以解决
加分再问 窗体初始化问题:
我用传过去的参数来初始化窗体中的控件时
我希望窗体显示出来的时候
用户看到的窗体中的那些控件都是已经初始化好了的
如OptionBox该勾上的就勾上,CheckBOx该选中的就显示选中
现在的问题是
第一次双击弹出窗体时
窗体上的控件一般都没有初始化成功
那些控件都是未选中状态!!!!!!!!!!!!
真是见鬼!
再打开的话才能看到已经初始化了

该如何才能第一次弹出窗体时就让他初始化成功????????!!!!!!!!
请各位赐教
qiangsheng 2004-11-05
  • 打赏
  • 举报
回复
是在窗体退出前触发的,但是可以通过Cancel的值来控制真正退出与否,也就是说可以在这里编写代码使窗体不退出。
San0011 2004-11-05
  • 打赏
  • 举报
回复
Form_QueryUnload 是怎么触发的??
行云边 2004-11-04
  • 打赏
  • 举报
回复
private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
me.hide
End Sub
San0011 2004-11-04
  • 打赏
  • 举报
回复
解决了载入时间过长的问题
又有新的问题:
单击“关闭”按钮Unload 窗体时
又要等好几秒!!!!!!!!!!!!!
orsharp 2004-11-03
  • 打赏
  • 举报
回复
加个启动画面!
San0011 2004-11-03
  • 打赏
  • 举报
回复
是连续弹出来……
quakecf 2004-11-03
  • 打赏
  • 举报
回复
form_load()
form1.show
doevents
....
end sub
San0011 2004-11-03
  • 打赏
  • 举报
回复
把 form1.show 放在form_load()中之后
form1窗体隔一会就自行弹出来了 :(
zdcwin 2004-11-03
  • 打赏
  • 举报
回复
在关闭窗体时将checkbox和optionbox的状态存入一组全局变量中,再次打开窗体时再根据这些值来设定checkbox和optionbox的状态。
此外,窗体弹出后仍然可以初始化窗体上的控件,只要在form_load()中的form1.show之后添加代码就行了。
行云边 2004-11-03
  • 打赏
  • 举报
回复
//可不可以在窗体弹出之后才继续初始化窗体上的控件??

可以
San0011 2004-11-03
  • 打赏
  • 举报
回复
另外
我在对窗体Form1上的CheckBOx和OptionBox等控件设置完之后关闭窗体
在下次重新打开该窗体时
如何保留前此的操作状态
如前一次的OptionBox1为选中状态
再下次打开该窗体时OptionBox的状态为选中
victorycyz 2004-11-03
  • 打赏
  • 举报
回复
form_load()事件过程中,在第一行插入这句:form1.show
目 录 第一章 开发环境 1.1 Qt 简介5 1.2 下载安装 Qt Creator 6 1.3 第一个程序 Hello World 7 第二章 窗体应用 1.1 窗体基类说明 12 1.2 控制窗体大小 13 1.3 窗体初始位置及背景色 13 1.4 修改标题栏图标 14 1.5 移动无边框窗体 16 1.6 去掉标题栏中最大化、最小化按钮 17 1.7 多窗体调用 18 1.8 字体形状窗体 20 第三章 控件应用 1.1 QPushButton按钮 23 1.2 QLabel标签 23 1.3 QLineEdit单行文本 24 1.4 QTextEdit多行文本 25 1.5 QPlainTextEdit多行文本 26 1.6 QComboBox下拉列表框 26 1.7 QFontComboBox字体下拉列表框 27 1.8 QSpinBox控件 28 1.9 QTimeEdit时间控件 29 1.10 QDateEdit日期控件 30 1.11 QScrollBar控件 30 1.12 QRadioButton单选按钮 31 1.13 QCheckBox复选框 32 1.14 QListView 列表控件 34 1.15 QTreeView树控件 34 1.16 QTableView表格控件 35 1.17 QHBoxLayout横向布局 36 1.18 QGridLayout网格布局 37 1.19 QGroupBox控件 38 1.20 QTabWidget控件 39 1.21 QMenu、QToolBar控件 41 1.22 任务栏托盘菜单 43 第四章 组件应用 1.1日历组件 47 1.2登录窗口 48 1.3文件浏览对话框 50 1.4颜色选择对话框 51 1.5进度条实例53 1.6Timer实时更新时间 54 第五章 文件操作 1.1创建文件夹 57 1.2写入文件 58 1.3修改文件内容 60 1.4删除文件 62 1.5修改文件名 63 1.6 INI文件写入操作 65 1.7 INI文件读取操作 68 1.8创建XML文件 71 1.9读取XML文件 72 第六章 图形图像操作 1.1绘制文字 75 1.2绘制线条 75 1.3绘制椭圆 77 1.4显示静态图像 78 1.5显示动态图像 78 1.6图片水平移动 79 1.7图片翻转 80 1.8图片缩放 82 1.9图片中加文字 84 1.10图像扭曲 85 1.11模糊效果 85 1.12着色效果 86 1.13阴影效果 87 1.14透明效果 87 第七章 多媒体应用 1.1音频、视频播放器 90 1.2播放Flash动画 94 1.3播放图片动画 95 第八章 系统操作 1.1获取屏幕分辨率 98 1.2获取本机名、IP地址 98 1.3根据网址获取IP地址 99 1.4判断键盘按下键值 100 1.5获取系统环境变量 101 1.6执行系统命令 102 第九章 注册表 1.0简要说明注册表 105 1.1写入注册表 105 1.2查找注册表 106 1.3修改IE浏览器的默认主页 107 第十章 数据库基础 1.1查询数据库驱动 109 1.2Qodbc连接Access数据库 109 1.3插入数据 111 1.4数据列表 112 1.5操作SQLite数据库 113 1.6SQLite数据库视图管理器 115 第十一章 网络开发 1.1点对点聊天服务端 119 1.2点对点聊天客户端 123 1.3局域网广播聊天 128 1.4SMTP协议发送邮件 148 1.5调用系统DLL判断网络连接状态 152 第十二章 进程与线程 1.1进程管理器 155 1.2线程QThread应用 158 1.3线程QRunnable应用 159 第十三章 数据安全 1.1 QByteArray加密数据 163 1.2 AES加密数据 164 1.3 MD5 加密数据 165 1.4 生成随机数 166 第十四章 打包部署 1.1 FilePacker 打包 169 1.2 Inno Setup 打包 174
version :4.0 1、将生成的代码和事件用两个文件实现。 2、修改了部分Bug; 3、颜色设置做了部分改进; 4、内部集成了VC的编译器,和模拟器,生成C文件后可以直接在uCGUIBuilder中编译,运行模拟器了 5、添加代码自动完成功能; 6、添加画线功能。 version : 3.1.0.0 1、修改了选择不同窗体属性窗口不更新的BUG; 2、修改了只能打开一个ucGUIBuilder的功能,现在可以同时启动多个; 3、修复了拖放非ucfrm引起软件错误的Bug; 4、添加了控件ID自动增加功能; 5、添加了控件ID检查功能,控件ID有重复时会有警告; 6、添加了用户自定义字体功能; 7、支持中英文切换(但功能不够完善); 8、支持自动检查更新; 9、修改了不能保存用户自定义ID的BUG; version : 3.0.0.0 重写了部分内核,运行更稳定; 支持窗体设计器的复制、粘贴、剪切、删除、撤销、等基本操作; 支持多控件,对齐、公共属性修改等基本操作; 支持将.ucfrm文件与ucGUIBuilder关联功能; 支持控件自定义ID; 添加了窗体预览功能; 添加了对控件事件的支持; 添加了在线检查更新功能; 等…… version : 2.1.0.5 优化了控件库; 修复了一些Bug; 代码生成窗口中添加了C语言语法高亮显示功能; C文件模板做了部分修改(C文件模板大家可以随意修改为自己喜欢的格式(..\Template\Template.c文件) 但是要保证$$$GUI_WIDGET_CREATE_INFO$$$ $$$Defination$$$ $$$InitDialog$$$ 三个字符串位置不变) 支持设计的窗体保存为文件,并可以打开; 对所有控件属性添加了Description(在属性窗口最下面显示); 窗体布局可以保存,可以自定义为自己喜欢的窗体布局; 修改了部分功能; version : 2.0.0.5 优化了控件库; 修复了一些Bug; 可以生成完整的C文件(包括 资源表,初始化代码等); 修改了部分功能; version : 1.0.0.0 功能很不完善; 还有好多BUG; 目前只能生成资源表; 暂时不能生成其他代码; 大家有什么好的建议可以发送Email 到: ucguibuilder@163.com

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧