说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB编程常见问题

HTML文档下载 WORD文档下载 PDF文档下载
VB编程常见问题

  问题:如何编程使文本框中文本的某一特定字符或字符串同时高亮显示?

  答:由于普通TextBox控件不支持不连续字符串的同时高亮显示,所以我们选择RichTextBox控件。单击工程(Project)选单项,在弹出的下拉选单中单击组件(Components)选单项,从弹出的对话框中选择Microsoft Rich Textbox Control 5.0复选框,确定加载RichTextBox控件。

  新建(New)一个工程,在窗体(Form)上添加一个RichTextBox控件和两个Command(按钮)控件,都采用系统默认的Name属性值;设置RichTextBox的Text属性值为空,Command1和Command2的Caption属性值分别设为“输入文本”和“选择字符串”。最后,添加如下VB代码:

  Private Sub Command1—Click()

   Dim str As String

   Dim Text As String

   str=″输入文本″

   Text=InputBox(str)

   RichTextBox1.Text=Text

  End Sub

  Private Sub Command2—Click()

  Dim str As String

  Dim Text As String

  Dim Position As Integer

  Dim Lenth As Integer

  str=″输入要高亮显示的字符串″

  Text=InputBox(str)

  If Text 〈〉 ″″ Then

   Position=InStr(RichTextBox1.Text, Text)-1

   Lenth=Len(Text)

   RichTextBox1.SelStart=Position

   RichTextBox1.SelLength=Lenth

   RichTextBox1.SelColor=RGB(255,0,0)

   Do While InStr(Position+Lenth+1, RichTextBox1.Text, Text) 〈〉 0

     Position=InStr(Position+Lenth+1, RichTextBox1.Text, Text)-1

     RichTextBox1.SelStart=Position

     RichTextBox1.SelLength=Lenth

     RichTextBox1.SelColor=RGB(255,0,0)

   Loop

  End If

  End Sub

  按F5执行程序,单击“输入文本”按钮,在弹出的对话框中输入一些文本,确定后,刚刚输入的文本将显示在RichTextBox中;再单击“选择字符串”按钮,在弹出的对话框中输入你希望高亮显示的字符串,确定后,RichTextBox中相应的字符串将以红色高亮显示。

  问题:如何利用VB编写程序实现Windows 95操作系统的热启动?

  答:要利用程序实现系统的重新启动,可以在你的程序中调用API函数来实现。建一个子函数:(以VB为例)

  Declare Function SystemParametersInfo Lib ″user32″ Alias —

  ″SystemParametersInfo″ (ByVal uAction As Long, ByVal uParam As Long,

  ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

  Sub DisableCtrlAltDelete(bDisabled As Boolean)

  Dim X As Long

  X=SystemParametersInfo(97, bDisabled, CStr(1), 0)

  End Sub

  Call DisableCtrlAltDelete(true)  ′禁止热启

  Call DisableCtrlAltDelete(false) ′允许热启

  问题:如何把数据文件输出到Text控件中?如果数据量比较大,窗体满屏也不够大,怎么解决?

  答:有一个比较简单的方法,就是把数据放到一个文本框(Text)里,并在其中加上水平和垂直滚动条。具体实现步骤为:先在窗体(Form)里加入一个文本框,采用默认名Text1;然后,设置文本框Text1的属性:Text属性设置为空,MultiLine属性设置为True,ScrollBars属性设置为3-Both;接着添加如下VB代码:

  Private Sub Form—Load()

  Dim Handle As Integer

  Dim FileName As String

  On Error GoTo ErrExit

  begin:

  ′输入要显示的数据文件的名称

  FileName=InputBox$(″Input Filename″,

  ″Open File″)

  On Error GoTo FileErr

  Handle=FreeFile

  Open FileName For Input As #Handle

  ′把数据文件中的数据输出到文本框中

  Text1.Text=Input$(LOF(Handle), Handle)

  Close #Handle

  Exit Sub

  FileErr:

  Dim ErrNum As Integer

  If Err.Number=53 Then

    ErrNum=MsgBox(″File not exist″, vbOKCancel, ″Error Information″)

    If ErrNum=1 Then

      GoTo begin

    Else

      Exit Sub

    End If

  End If

  MsgBox Err.Description, , ″file open failed″

  ErrExit:

  Exit Sub

  End Sub

  ′使文本框充满整个窗体

  Private Sub Form—Resize()

  Text1.Left=0

  Text1.Top=0

  Text1.Width=Form1.Width-100

  Text1.Height=Form1.Height-400

  End Sub

  通过这样的处理,不仅能解决问题,而且用户还可以在文本框中对数据进行编辑。

  问题:怎样把文件列表框、目录列表框和驱动器列表框相互关联起来?

  想做一个对话窗体,包含驱动器列表框、目录列表框和文件列表框,并能实现三者的同步操作,怎么做?

  答:在实际应用中,经常会遇到上述问题,在VB中解决这个问题非常简单,可以通过Path属性的改变引发Change事件来实现。例如:

  Sub Dir1—Change()

File1.Path=Dir1.Path

  End Sub

  该事件过程使窗体上的目录列表框Dir1和文件列表框File1产生同步。因为目录列表框Path属性的改变将产生Change事件,所以在Dir1—Change事件过程中,把Dir1.Path赋给File1.Path,就可以产生同步效果。

  类似地,增加下面的事件过程,就可以使三种列表框同步操作:

  Sub Drive1—Change()

Dir1.Path=Drive1.Drive

  End Sub

  该过程使驱动器列表框和目录列表框同步,前面的过程使目录列表框和文件列表框同步,从而使三种列表框同步,问题即可解决。

  问题:如何在Windows 95或Windows 98启动后自动启动程序?

  答:我们都知道在Windows 95和Windows 98的“开始”→“程序”选单下有一“启动”选单项,当每次启动Windows 95或Windows 98时,系统都会自动启动放在“启动”选单栏里的可执行程序。

  但目前有好多软件,像解霸五、ICQ,以及大部分实时侦测病毒的软件等等,安装后,并没有放在“启动”选单里,也能在启动操作系统时自动启动。怎么实现的呢?

  其实只要知道Windows注册表的一些知识,这个问题就不能称之为问题了。用鼠标单击“开始”,打开开始选单,再单击“运行”,出现一对话框,然后输入“regedit”,确定后,会打开系统注册表编辑器,找到HKEY—LOCAL—MACHINE? SOFTWARE?Microsoft?Windows?CurrentVersion?Run,加入你的程序的入口,就可以了。如果不知道怎么加,就参考一下已经存在的键值。
专访腾讯反病毒实验室:揭秘TAV引擎,哈勃分析系统两大利器 Cocos Studio v2.0 Beta0正式发布!多维升级,合三为一 环信即时通讯云获3000万融资 用于研发运维 苹果谷歌都无力?前员工开发跨设备无缝同步应用 带你看会带你飞!MDCC 2014移动开发者大会参会指南 Meteor 1.0发布 构建更好的Web应用 【专访】敏捷专家吴穹:敏捷测试的行业应用与实战解析 英特尔中国研究院最新成果亮相 展示智能衣服瓷杯机器人等创新作品 Node.js 打造实时多人游戏框架 深圳微信开发者大会购票企业特征分析 上门汽车服务“e保养”完成A轮500万美元融资 Docker之父Solomon Hykes谈项目开发的初衷和挑战 浪潮是如何实现单日5000台x86服务器交付互联网的? Bootstrap 3.3.0发布 版本4不再支持IE8 漏洞预警:FTP曝严重远程执行漏洞 影响多个版本Unix 【简讯】W3C小组宣布HTML5标准制定完成 AMD发布GPUPerfAPI 2.14,GPU性能检测更Easy! 开放能力升级——微信公众号登陆授权开启公测! 百度最“智能”的新型推荐技术——智能因子分解机 消灭Bug!18款最佳的问题跟踪管理应用程序 Google Analytics为什么会这么快 【MDCC 2014】Xamarin深入体验营——开发实战大揭秘 【MDCC 2014】电信技术专场:运营商与开发者如何合作共赢 【MDCC 2014】高德LBS大赛闭幕式暨颁奖典礼:下一个50亿应用花落谁家? MDCC 2014移动开发者大会开幕:全生态系统齐聚 开发者成主角 蓝港互动有限公司董事长&amp;amp;首席执行官王峰:移动互联网泛娱乐化趋势 多盟联合创始人&amp;amp;总裁张鹤:多盟DSPAN助力开发者高效变现 创新工场联合创始人汪华:移动互联网时代的跃迁式增长 阿里巴巴集团UC移动事业群总裁俞永福:AMAP Inside——更专业、更开放 《程序员+》移动应用上线 启动“2014 MDCC十大人气应用/产品评选活动” 微软开发体验与平台合作事业部大中华区DX部门总经理Srikanth Raju:基于云的跨平台开发 各位高手,请问TREE组件如何用啊? 蝶恋花——写在七夕(淡月儿) 写入数据库的图片 如何读出来啊 急急急 急!!!!!111111111 写入数据库的图片 如何读出来啊 急急急 急!!!!!111111111 求救!!在线等候!! FORTRAN 77與C語言之間互相使用 关于CBCGOutlookBar的问题 如何在Delphi中调用WINRAR或WINZIP动态链接库的接口???(急,急,急......) 请教DataGrid控件新增一行的问题。 在unixware中使用消息队列,当消息队列比较长并且创建的消息队列较多时,出现堵塞? 为什么我调用 GethostName 这个函数 返回值是 O 但是GetLastError 却返回14呢!? 怎么通过http协议联接数据库呢?或者怎么样远程联接数据库? 如何清除ds.tables中的数据 奇怪!用unescape函数解码出来的一部分字符只能用document.write()的方法来显示? 求救!!!!如果我是定向招生读的大学,和定向单位签订11年和约,如果我不想去定向单位工作,该负怎样的法律责任!!!! 冬天来了,春天还会远吗?——中国程序员的春天 请教无标题窗口怎么移动?? 听同学说用一个按钮可以实现后退两页的,那么三页也可以实现吧,怎样写? 用hibernate 如何实现分页 我不太明白这些版本控制到底最大的好处是什么? 程序运行时实时变量出错? 各位老兄,请问在java中怎么解决这样<Node Name="N1" Value="1" />的XML 哪有winamp3的“汉化补丁”,源程序我有 使用CSocket类时出现访问冲突 庆祝网站初建:一般的界面,实用的文章例子,欢迎大家参观我的网站http://vcp4.51.net 帮帮小弟吧~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 请教各位大侠:VFP中SQL语言应该怎么学?? 如何自行编写一个自释放的EXE文件?,分不够,可另开恭送 dll卸除时 我要做一些收尾工作 代码要写在哪里?? 请教各位大侠:VFP 中的程序应该怎么学???谢谢指教!! 如何修改Canon BJ-4650打印机驱动程序,实现A3纸的加长打印? 心语 使用ODBC连接MySQL数据库时在stderr处有错误输出 这样的函数名怎么调用 大家能说说你们看过的最吓人的恐怖片是哪一部么?欢迎讨论! WIN2K问题 怎样解决这个问题 两个很菜的问题,在线等待 我不能在WSADV5中显示JSP页面? 鼠标检测问题 仅运行一次的实例,如何分别打开多个文件? 一些对asp.net的编译问题,乞望大虾回答。 初学者问题,请各位高手教教我! 通过ODBC传输大容量数据时出错 一个小的测试:求1+2+……+100的和,写出你的程序! 谁有不错的JAVASCRIPT的电子教程? 请教各位大侠:TurboC的数组方面的题 请问为什么我这个实现不了旋转? 送分给高手,请进:关于组件注册的问题? 对于您可能这仅是一个小问题,急求助! 如何收集一堆的单选框的值 在一次选举中,共有5219张选举票投给4位候选人,结果获胜者比他的对手分别多得22张,30张,73张,但他们之中没有一个人知道各自所获得选票的数量.你能算出他们各得多少张选票吗? 毕字组什么词有完全的意思? 什么是戏剧的潜台词?什么是戏剧潜台词?如何把握?怎样去挖掘潜台词蕴含的内容?对于读者,观众来说。怎样去揣摩? 历史上真的有武松这个人吗?求大神帮助 Packaged and sent the photo to your profile picture 4 would be nice帮我看下 老外发的这句话 急 英语翻译he_ _ _with_friends 无论何时我们遇到问题和困难,我们都应该鼓励自己来面对并解决它们.把这个翻译成英语怎么翻译啊? 潜台词有什么表达效果 昨晚地震是谣言吗 This analysis takes account of direct and indirect trade in resources. 只要明天还在这首诗用了什么修辞手法其作用是什么 约旦河西岸推进环保 巴以或实现“环境巴官员称以色列炮击加沙地带 一名武装万圣节作掩护 女子藏毒南瓜闯加拿大海万圣节作掩护 女子藏毒南瓜闯加拿大海俄八旬老汉野外斗熊 被摔下悬崖后逃出奥巴马豪华座驾“野兽”细节曝光【图】津巴布韦教师涉猥亵性侵多名男生 用\女子坚持每天喝3升水 4周后外貌似年大型科技公司虎视美国医保网站改造律师:斯诺登在俄找到网站工作 今日开尼日尔移民车沙漠抛锚 致90人脱水而【一周精选】据说司机玩手机的时候都在【有奖!答否?】日系车真的更省油吗?散户你大大的往前走,莫回头!纪检书记倒在工程腐败上的警示意甲-恒大旧将破门 10人国米客场1宋清辉:重新认识“双创”的深层内涵著名经济学家宋清辉复旦大学再论互联网英超-吉鲁破门厄齐尔助攻 阿森纳2-著名经济学家宋清辉受邀“文津圆桌”论紧急,紧急,紧急!明天操作千万注意三西甲惊现“力挺黄博文”标语 球迷:良
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘