以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于调用e参数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88121)

--  作者:yjf123
--  发布时间:2016/7/27 13:57:00
--  关于调用e参数

Dim cbx As WinForm.ComboBox = e.Form.Controls("ComboBox1")
\'Functions.Execute("调用e",cbx,cbx.basecontrol.Validating)

一 除了用AddHandler ,如何在其它地方调用 Validating事件的e参数,

二 用第三方控件指定事件过程,可以调用,但是无法引用sender的一些属性,比如complist
AddHandler cbx.basecontrol.Validating, AddressOf Combobox_Validating \'绑定事件

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:绑定函数.table


--  作者:yjf123
--  发布时间:2016/7/27 15:04:00
--  
up
--  作者:大红袍
--  发布时间:2016/7/27 15:19:00
--  

1、不能,只有触发事件才能有e参数;

 

2、控件.BaseControl的对象的属性和方法和foxtable介绍的不同。基本上,要去搜索msdn

 

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.combobox.aspx

 


--  作者:yjf123
--  发布时间:2016/7/27 15:36:00
--  

自定义事件绑定的是WinForm.ComboBox   的 basecontrol 的事件,自定义事件中传递的是basecontrol ,无法通过函数获取WinForm.ComboBox 的属性 ,这条路行不通。

有没有其它方法?

 

\'\'输入控件离开前,判断是否是下拉列内的内容
Public Sub Combobox_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs)
   Functions.Execute("调用e",sender,e)  \'离开控件前
End Sub


--  作者:大红袍
--  发布时间:2016/7/27 15:38:00
--  

看3楼,判断item

 

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.combobox.aspx

 


--  作者:yjf123
--  发布时间:2016/7/27 16:41:00
--  

类型总是设置不正确,例子上传了,大红袍老师帮忙调整一下

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160727164632.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/7/27 17:09:00
--  

哦,改了类型了。改一下代码

 

Dim cbx As WinForm.ComboBox = e.Form.Controls("ComboBox1")
Dim bcbx = cbx.basecontrol


If array.Indexof(bcbx.Lines, bcbx.Text) >= 0 Then
    msgbox("存在")
Else
    msgbox("不包含")
End If