查看: 1178|回复: 6
|
请问要怎样在 .net 的 window application listView add UserControl
[复制链接]
|
|
我已经花了一整天的时间逗留在google了,可是还是没有任何头绪!请各位大大帮个忙!
我没有试过在window form里加过user control。。而且那个user control的位置不是固定的。。会depends on the location of the mouse pointer。
我有一个listview,我想在listview 的某个row的column rightclick的时候,就会有一个user control出现,那个user control会把listview里的data show出来。然后我可以在那个user control里select certain value然后做些process。。也就是说,user control会received some parameters and return back the result to window form。
我讲到很象很乱,希望你们能明白和帮帮我。。。thank you in advance! |
|
|
|
|
|
|
|
发表于 21-5-2007 11:05 PM
|
显示全部楼层
原帖由 stupidbanana 于 21-5-2007 05:09 PM 发表
我已经花了一整天的时间逗留在google了,可是还是没有任何头绪!请各位大大帮个忙!
我没有试过在window form里加过user control。。而且那个user control的位置不是固定的。。会depends on the location of t ...
你是不是要做 drag and drop 的东西? 你可以找找 drag and drop 的 code 呀.
原帖由 stupidbanana 于 21-5-2007 05:09 PM 发表
我有一个listview,我想在listview 的某个row的column rightclick的时候,就会有一个user control出现,那个user control会把listview里的data show出来。然后我可以在那个user control里select certain value然后做些process。。也就是说,user control会received some parameters and return back the result to window form。
你所谓的 user control 是什么? |
|
|
|
|
|
|
|

楼主 |
发表于 22-5-2007 09:30 AM
|
显示全部楼层
不是的。我只是要放一个maybe textbox or label的东西as user control。然后当user right click某个row of the listview的时候,textbox or label 就会show出来。。把data从listview里放进那个textbox or label。。
我现在遇到的问题是,user control show不出来。。。
UserControl1 uc = new UserControl1();
uc.Location = this.p2;//mouse position
this.Controls.Add(uc);
uc.Show(); |
|
|
|
|
|
|
|
发表于 9-8-2007 03:15 PM
|
显示全部楼层
我觉得你的问题不需要用USERCONTROL 吧。
以下是我的方法 。。。
Private Sub Listview_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Listview.MouseUp
If e.Button = MouseButtons.Right Then
Dim lst As ListViewItem = CType(sender, ListView).GetItemAt(e.X, e.Y)
If Not lst Is Nothing Then
TextBox1.Visible = False
TextBox1.Visible = True
TextBox1.Location = New Point(Listview.MousePosition.X - Me.Listview.Location.X, Listview.MousePosition.Y - Me.Listview.Location.Y)
TextBox1.Text = lst.ToString
Else
TextBox1.Visible = False
End If
ElseIf e.Button = MouseButtons.Left Then
TextBox1.Visible = False
End If
End Sub
如果你要SELECT SUBITEMS 的话可以试看 HITTEST FUNCTION。 |
|
|
|
|
|
|
|
发表于 14-8-2007 02:42 PM
|
显示全部楼层
搂主,你尝试用ContextMenuStrip.. 加入你的Form里,然后assign它去你要right click pop up menu list 的地方。 |
|
|
|
|
|
|
|

楼主 |
发表于 15-8-2007 09:42 AM
|
显示全部楼层
原帖由 ken_hirai 于 14-8-2007 02:42 PM 发表 
搂主,你尝试用ContextMenuStrip.. 加入你的Form里,然后assign它去你要right click pop up menu list 的地方。
谢谢你们的意见。。我已经解决了问题。。。 但是,怎样用contexMenuStrip?我没有试过。。。 |
|
|
|
|
|
|
|

楼主 |
发表于 15-8-2007 09:44 AM
|
显示全部楼层
原帖由 Zhixuen 于 9-8-2007 03:15 PM 发表 
我觉得你的问题不需要用USERCONTROL 吧。
以下是我的方法 。。。
Private Sub Listview_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Listview.MouseUp
...
我是用user control来解决的。。但是觉得方法有点笨。。。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|