以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]列表视图问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71713)

--  作者:pcxjxjhkw
--  发布时间:2015/7/16 17:13:00
--  [求助]列表视图问题
列表视图中的行在拖动时,如何实现,给一个提示?

有两个列表视图,将其中一个的行拖动到另一个视图中,在拖动时(还 未拖动到另一个视图中)【BeforeDragRow事件中】,显示提示,是否已存在

如果用消息框可以实现,我现想用提示信息

如下的代码未能实现,其提示信息未能在拖动时实时显示

Dim lvw As WinForm.ListView = e.Form.Controls("个人收藏菜单")
If lvw.Rows.Contains(e.Row.Name) = True Then  \'\'如果已收藏此菜单
    e.Sender.Current.ToolTipText = "已添加"
    \' MessageBox.Show("【" & e.Row.Text & "】已添加!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
    \' e.Cancel = True
End If

--  作者:大红袍
--  发布时间:2015/7/16 17:16:00
--  

Dim txt As WinForm.ListView = e.Form.Controls("ListView1")
txt.ShowToolTip("请输入六位数的邮政编码!")

 

http://www.foxtable.com/help/topics/2686.htm

 


--  作者:pcxjxjhkw
--  发布时间:2015/7/16 17:20:00
--  
老师,你的方法是控件提示信息,不是列表视图的当前行。

e.Sender.Current.ShowToolTip("已添加")  报错,未找到该属性

--  作者:大红袍
--  发布时间:2015/7/16 17:45:00
--  

 listview不能这样提示

 

Dim lbl As WinForm.Label
lbl = e.Form.CreateControl("lable1", ControlTypeEnum.Label)
lbl.Text = "Foxtable"
lbl.Left = System.Windows.Forms.Cursor.Current.Position.X - e.Form.baseform.left
lbl.Top = System.Windows.Forms.Cursor.Current.Position.Y - e.Form.baseform.Top
lbl.width = 0
lbl.height = 0
e.Form.AddControl(lbl)
lbl.ShowToolTip("请输入六位数的邮政编码!")


--  作者:pcxjxjhkw
--  发布时间:2015/7/16 18:46:00
--  
当停止拖动时,如何让它自动消失呢?
--  作者:大红袍
--  发布时间:2015/7/16 18:52:00
--  

 呃,http://www.foxtable.com/help/topics/2686.htm

 


--  作者:pcxjxjhkw
--  发布时间:2015/7/16 18:59:00
--  
已解决,还是分享出来

MouseUp

If e.Button = MouseButtons.Left Then  \'\'如果松开的是左键
    If e.Form.ExistControl("提示") = True Then  \'\'如果存在该控件
        e.Form.Controls("提示").HideToolTip
    End If
End If

--  作者:pcxjxjhkw
--  发布时间:2015/7/16 19:48:00
--  
lbl.Left = System.Windows.Forms.Cursor.Current.Position.X - e.Form.baseform.left
lbl.Top = System.Windows.Forms.Cursor.Current.Position.Y - e.Form.baseform.Top

新问题:窗口直接预览或在模式下测试通过,但当是并列窗口时,上两句代码报错——未将对象引用设置到对象的实例

--  作者:大红袍
--  发布时间:2015/7/16 19:55:00
--  

 mouseMove事件

 

vars("left") = e.X
vars("top") = e.Y

 

 显示代码

 

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
Dim lbl As WinForm.Label
lbl = e.Form.CreateControl("lable1", ControlTypeEnum.Label)
lbl.Text = "Foxtable"
lbl.Left = vars("left") + lvw.left
lbl.Top = vars("top") + lvw.Top
lbl.width = 0
lbl.height = 0
e.Form.AddControl(lbl)
lbl.ShowToolTip("请输入六位数的邮政编码!")


--  作者:pcxjxjhkw
--  发布时间:2015/7/16 20:08:00
--  
位置不正确!