Foxtable(狐表)用户栏目专家坐堂 → 没学会也买开发版


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

主题:没学会也买开发版

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/21 20:49:00 [显示全部帖子]

以下是引用石四在2013-8-21 20:34:00的发言:

 

另外这段代码 BeautifyControls(e.Form,"TextBox1,TextBox2")用于窗口里两个文本框控件(背景透明效果)怎么就不行呢?



把下面的代码,放到全局代码那里

参考例子

Public Sub BeautifyControls(ByVal e As WinForm.Form,ByVal _Values As String)
Dim Values() As String = _Values.Split(",")
For Index As Integer = 0 To Values.Length - 1
    Dim BeautifyControl As New BeautifyControl(e.Controls(Values(Index)))
Next

End Sub


Public Class BeautifyControl
    Private Control As WinForm.Control
    Private Label As WinForm.Label
    Public Sub New(ByVal _Control As WinForm.Control)

        Dim lbl As WinForm.Label
        lbl = _Control.Form.CreateControl("lable1", ControlTypeEnum.Label)
        lbl.Name = "lable-" & _Control.Name
        lbl.BackColor = Color.Transparent
        lbl.TextAlign = ContentAlignment.MiddleLeft
        _Control.Parent.AddControl(lbl)
        lbl.AutoSize = False
        lbl.SetBounds(_Control.Left, _Control.Top, _Control.Width, _Control.Height)
        lbl.Anchor = _Control.Anchor
        lbl.Dock = _Control.Dock


        Me.Control = _Control
        Me.Label = lbl
        Me.Control.Visible = False

        Dim ln As WinForm.Line = _Control.Form.CreateControl("lable1", ControlTypeEnum.Line)
        ln.Anchor = _Control.Anchor
        _Control.Parent.AddControl(ln)
        ln.Left = _Control.Left
        ln.Top = _Control.Top + _Control.Height - 16
        ln.Width = _Control.Width

        AddHandler lbl.BaseControl.Click, AddressOf Label_Click
        AddHandler lbl.BaseControl.VisibleChanged, AddressOf Label_VisibleChanged
        AddHandler Me.Control.BaseControl.Leave, AddressOf Control_Leave
    End Sub

    Private Sub Label_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Control.Visible = True
        Me.Control.Select()
        Me.Control.Form.Controls(Control.Name).BaseControl.SelectionLength = 0
        Me.Label.Visible = False
    End Sub

    Private Sub Label_VisibleChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If Me.Label.Visible = True Then
            If Me.Control.Form.ExistControl(Control.Name) Then
                If Me.Control.BindingField = Nothing Then
                    Me.Label.Text = Me.Control.Form.Controls(Control.Name).Value
                Else
                    Me.Label.BindingField = Me.Control.BindingField
                End If
                Me.Label.ForeColor = Me.Control.ForeColor
            End If
        End If
    End Sub
    '当文本控件不是活动控件的时候发生
    Private Sub Control_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Label.Visible = True
        Me.Control.Visible = False
    End Sub
End Class

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/21 21:30:00 [显示全部帖子]

以下是引用石四在2013-8-21 21:22:00的发言:
参考例子
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=27736&authorid=0&page=2&star=1
Public Sub BeautifyControls(ByVal e As WinForm.Form,ByVal _Values As String)


全局代码,新问题,另开一个列子提问哈。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/21 21:44:00 [显示全部帖子]

以下是引用石四在2013-8-21 21:40:00的发言:

哦,还真没碰过这一块。

例子是三个控件,如果两个控件,代码是否通用?那么多代码,够挖一阵子!


多少个控件,都是通用的。

 回到顶部