Foxtable(狐表)用户栏目专家坐堂 → 控件事件代码编辑


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

主题:控件事件代码编辑

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


加好友 发短信
等级:幼狐 帖子:181 积分:1451 威望:0 精华:0 注册:2012/5/11 12:47:00
控件事件代码编辑  发帖心情 Post By:2013/2/17 16:56:00 [显示全部帖子]

我在窗体中动态增加的控件,如何为动态增加的控件编辑事件代码?感谢

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


加好友 发短信
等级:幼狐 帖子:181 积分:1451 威望:0 精华:0 注册:2012/5/11 12:47:00
  发帖心情 Post By:2013/2/17 17:04:00 [显示全部帖子]

这个我看到了,不过还是不清楚,我做的是动态增加的text,希望可以将验证输入用的代码写入到类似Validating事件中,增加好控件后怎么写到这里啊?

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


加好友 发短信
等级:幼狐 帖子:181 积分:1451 威望:0 精华:0 注册:2012/5/11 12:47:00
  发帖心情 Post By:2013/2/17 17:05:00 [显示全部帖子]

e.Form.Panel.Controls.Add(ct)
AddHandler
ct.Validating, AddressOf Button1_Click

这样可以吗?


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


加好友 发短信
等级:幼狐 帖子:181 积分:1451 威望:0 精华:0 注册:2012/5/11 12:47:00
  发帖心情 Post By:2013/2/18 9:15:00 [显示全部帖子]

谢谢,不过我不知道单独处理怎么样提到我动态增加的text控件的内容,代码象下面这样可以吗?

 

'自定义验证事件
Public Sub TextValidate(ByVal sender As System.Object, ByVal e As System.EventArgs, ByVal txtContent As Integer)

If sender.text > txtContent Then
sender.txt = txtContent
End If

End Sub

 

 


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


加好友 发短信
等级:幼狐 帖子:181 积分:1451 威望:0 精华:0 注册:2012/5/11 12:47:00
  发帖心情 Post By:2013/2/18 9:25:00 [显示全部帖子]

我在全局变量里做了事件,但在生成控件的代码中不识别,说Validating不是textbox事件

AddHandler txt1.Validating, AddressOf TextValidate

 


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


加好友 发短信
等级:幼狐 帖子:181 积分:1451 威望:0 精华:0 注册:2012/5/11 12:47:00
  发帖心情 Post By:2013/2/18 9:39:00 [显示全部帖子]

全代码如下,我不是用control.add添加控件的,而是创建,用的是creat

 

If e.Form.ExistControl(e.Form.Controls("Tab").SelectedIndex & "_" & e.Sender.name & "_1") Then
    MessageBox.Show("控件存在")
Else
    Dim ctl(4) As String '定义数组用于生成控件操作
    Dim ssis As Integer = e.Form.Controls("xd1").text '定义相对位置变量
    '    Dim ssco As Color  = e.Form.Controls("4").MouseOverBackColor '定义生成控件颜色
    Dim ssco As Color  = e.Sender.MouseOverBackColor '定义生成控件颜色
    '    Dim fnt As New Font(e.Sender.Font.Name,e.Sender.Font.Size,e.Sender.Font.Style)
    Dim fnt As New Font("Segoe UI Symbol",9)
   
    '动作代码控件生成
    Dim txt1 As WinForm.TextBox
    For x3 As Integer = 1 To 3
        '动作代码控件生成
        'Dim txt1 As WinForm.TextBox
        txt1 = e.Form.CreateControl(e.Form.Controls("Tab").SelectedIndex & "_" & e.Sender.Name & "_" & x3, ControlTypeEnum.TextBox)
        e.Form.Controls("Tab").SelectedPage.AddControl(txt1)
        With e.Form.Controls(txt1.Name)
            .Left = 6 + (x3 - 1) * 60
            .Top = e.Sender.Top - 149
            .Height = 21
            .Width = 40
            .BackColor = ssco
            .Font = fnt
            If x3 = 1 Then
                .text = e.Sender.Text '动作代码
                .Enabled = False
            Else
                .text = 0
                .Enabled = True
            End If
        End With
    Next
    AddHandler txt1.KeyUp, AddressOf TextValidate
End If


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


加好友 发短信
等级:幼狐 帖子:181 积分:1451 威望:0 精华:0 注册:2012/5/11 12:47:00
  发帖心情 Post By:2013/2/18 9:41:00 [显示全部帖子]

这里我换成keyup也是一样,系统提示keyup不是txtbox事件

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


加好友 发短信
等级:幼狐 帖子:181 积分:1451 威望:0 精华:0 注册:2012/5/11 12:47:00
  发帖心情 Post By:2013/2/18 9:43:00 [显示全部帖子]

谢谢,我再试下

 回到顶部