| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2362 人关注过本帖
标题:VB6转成VB2008
只看楼主 加入收藏
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
以下是引用不说也罢在2012-5-1 17:18:09的发言:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click,Button2.Click,Button3.Click,Textbox2.GotFocus.......


谢谢啰~试过结果果然如我料~
而且根据这行表示功能应用可以更广泛~
但是需要思考规划的更周全~
貌似代码要全改了~感觉又往前踏了一小步~

不要選我當版主
2012-05-02 11:45
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
以下是引用wube在2012-5-2 00:25:34的发言:

 
这个我知道~我想问的是~当选择离开按钮后跳出提示框~
又选择不跳离程式时要怎么让程序~不继续到Close()~
程序代码:
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        If MsgBox("您确实要退出本程序吗?", MsgBoxStyle.OkCancel + MsgBoxStyle.Question) = MsgBoxResult.Cancel Then
            e.Cancel = True'就是它,可以让你的程序不执行Closed过程的代码
            Exit Sub
        End If
        MsgBox("您可以在这里继续写需要执行的Code")
    End Sub


===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2012-05-02 12:19
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
以下是引用不说也罢在2012-5-2 12:19:06的发言:

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        If MsgBox("您确实要退出本程序吗?", MsgBoxStyle.OkCancel + MsgBoxStyle.Question) = MsgBoxResult.Cancel Then
            e.Cancel = True'就是它,可以让你的程序不执行Closed过程的代码
            Exit Sub
        End If
        MsgBox("您可以在这里继续写需要执行的Code")
    End Sub


就是要这个~原来改成这样写~感谢了~

不要選我當版主
2012-05-02 19:48
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
至于第4项也是难搞~
我知道.NET中Form已经包在里面了~
要用的时候再New一个就好~
只是我想要把原本已定义过的Form类~
以对象方式传递给其他自订函式调用~

不然有时很难做程序模组化~
代码太长看起来也很累人~

不要選我當版主
2012-05-02 19:56
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
要先说声抱歉~不是我不自己百度~
而是网络上找到的大都是2005的资料~
而且都很局部的特例资料~
所以才来问一些很白痴很基本的问题~

不要選我當版主
2012-05-02 20:01
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
以下是引用wube在2012-5-2 19:56:22的发言:

至于第4项也是难搞~
我知道.NET中Form已经包在里面了~
要用的时候再New一个就好~
只是我想要把原本已定义过的Form类~
以对象方式传递给其他自订函式调用~

不然有时很难做程序模组化~
代码太长看起来也很累人~


第4项算是找到答案了~不知到哪抓到的资料~类类类...累累累...

二.窗体之间的数据传输,
有时候我们想按下form1的BUTTON,改变form2的textbox.text。这在vb6中是很简单的,在写成form2.textbox.text=”xxxxx”的就行了,在vb7中却不能这样使用,这样有些麻烦,但却有利于封装性的产生。在大型的软件工程中,不至于因为类的相互紧密作用,导致调试的困难。例如一个窗体无法unload,我们无法确定是哪一个类的引用不当造成。
你可以写一个接口过程就像大部分丛vb6升级到vb7的软件那样。如:
Private Shared  m_vb6FormDefInstance As form1

Public Shared  Property DefInstance() As form1
    Get
    If m_vb6FormDefInstance Is Nothing Then
        m_vb6FormDefInstance = New form1()
    End If
    DefInstance = m_vb6FormDefInstance
    End Get
    Set
    m_vb6FormDefInstance = Value
    End Set
End Property

这样在form2中你可以写form1.DefInstance.xxxx调用属性。这大概算是一种兼容的方法
实际上你应该这样写
在class form1中: Inherits System.WinForms.Form 一行的后面public fm as new form2
然后你可以像在vb6中一样,使用fm.visible=true载入窗体并在form1中控制他。
但是你却不能这样在form2中控制form1我想vb7是将form1作为默认的主窗体
应该在form2中这样写:Public fmm as system.winforms.form=form1
虽然vb7声称这样写等同于Public fmm as form1
但这样你会不成功。因为fmm的值为Null,如果使用 New form1那你会看到每调用一次会出现一个新的form1!!L

[ 本帖最后由 wube 于 2012-5-2 22:30 编辑 ]

不要選我當版主
2012-05-02 22:26
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
第二项就莫名其妙了~
不过算了就依它好了~

不要選我當版主
2012-05-02 22:32
快速回复:VB6转成VB2008
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033510 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved