Foxtable(狐表)用户栏目专家坐堂 → 窗口内的数据传递


  共有5356人关注过本帖树形打印复制链接

主题:窗口内的数据传递

帅哥哟,离线,有人找我吗?
逛逛
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12123 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2014/8/1 12:47:00 [只看该作者]

俺用自定义类解决

 

 

'*************** 用于窗口中的变量传递 *******************
'初始化:窗口的AfterLoad事件   Dim a As New zxb窗口级变量(e.Form)
'赋值: Dim a As zxb窗口级变量  = e.Form.panel.Controls("自定义变量")
'      a.Var(变量名) = 值      '变量不存在就新增变量
'取值: Dim a As zxb窗口级变量  = e.Form.panel.Controls("自定义变量")
'      值 = a.Var(变量名)     '变量不存在返回Nothong


Public Class zxb窗口级变量
    Inherits System.Windows.Forms.Control

    Private _Vars As Dictionary(Of String, Object)   '变量集合

    Sub New(ByVal frm As WinForm.Form)
        MyBase.New()
        me.Visible = False
        MyBase.Name = "自定义变量"
        _Vars = New Dictionary(Of String, Object)
        frm.Panel.Controls.Add(Me)   '加入到窗口的Panel,注意必须从Panel中取出
    End Sub

    Public WriteOnly Property addVar(ByVal name As String) As Object
        Set(ByVal value As Object)
            If _Vars.ContainsKey(name) Then
                MessageBox.Show("变量重复,请核对!", "提醒:", MessageBoxButtons.OK)
            Else
                _Vars.Add(name, value)
            End If
        End Set
    End Property

    '获取或设置变量的值
    Public Property Var(ByVal Name As String) As Object
        Get
            If _Vars.ContainsKey(Name) Then
                Return _Vars(Name)
            Else
                Return MessageBox.Show("变量不存在,请核对!", "提醒:", MessageBoxButtons.OK)
                Return Nothing
            End If
        End Get
        Set(ByVal value As Object)
            If _Vars.ContainsKey(Name) Then
                '存在,就赋值
                _Vars(Name) = value
            Else
                '不存在,就新建变量赋值
                addVar(Name) = value
            End If
        End Set
    End Property
End Class


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6848 积分:43334 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2014/8/1 12:56:00 [只看该作者]

总感觉全局代码方便,楼主可能有特殊需求,才有此提法。


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/8/1 13:58:00 [只看该作者]

以前,所有的全局代码挤成一团,一多就乱。

现在好了,可以分开来了,对窗口级变量的需求,无所谓了。


 回到顶部
总数 13 上一页 1 2