visual basic(vb.net)应用C1TrueDBGrid控件,如何实现网格区域点选,空白区域无操作

原创 羽化飞翔  2020-11-11 14:39  阅读 595 次
摘要:

其实搞这个,比较想骂人,因为这个是客户提的需求,当然,提需求归提需求,都接了,但是无理取闹的找茬,就很恶心了,算了,反正提高自己技能,还是那句话“假如你被狗咬了,难道你还想要回去不成”。场景是这样,由于用了C1TrueDBGrid控件展现表格,而客户提出点击某行,首列的勾选就自动改变状态,一开始我使用的是C1TrueDBGrid.Click事件,但是有个比较麻烦的是,在空白点击,这个事件也是会触发的,所以客户提出点击空白区域=无操作的需求,下面谈谈如何实现。

visual basic(vb.net)应用C1TrueDBGrid控件如何实现网格区域点选空白区域无操作的应用场景

其实搞这个,比较想骂人,因为这个是客户提的需求,当然,提需求归提需求,都接了,但是无理取闹的找茬,就很恶心了,算了,反正提高自己技能,还是那句话“假如你被狗咬了,难道你还想要回去不成”。场景是这样,由于用了C1TrueDBGrid控件展现表格,而客户提出点击某行,首列的勾选就自动改变状态,一开始我使用的是C1TrueDBGrid.Click事件,但是有个比较麻烦的是,在空白点击,这个事件也是会触发的,所以客户提出点击空白区域=无操作的需求,下面谈谈如何实现。

visual basic(vb.net)应用C1TrueDBGrid控件如何实现网格区域点选空白区域无操作的解决方案

思路就是:改成使用MouseUp事件,然后关联鼠标坐标,获取这个坐标对应单元格坐标,这个单元格坐标的x如果是负数,说明是空白区域,否则是网格内容区域,代码如下:

    Private Sub C1TrueDBGrid1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1TrueDBGrid1.MouseUp
       Try
           Dim Grid As C1.Win.C1TrueDBGrid.C1TrueDBGrid = CType(sender, C1.Win.C1TrueDBGrid.C1TrueDBGrid)
           rem 使用PointToClient计算鼠标相对于某个控件的坐标
           Dim p As Point = Grid.PointToClient(Control.MousePosition)
           Dim curRowCol As Point = New Point(Grid.ColContaining(p.X), Grid.RowContaining(p.Y))
           Dim str As String = String.Format("({0},{1})", curRowCol.Y, curRowCol.X)
           If curRowCol.X > 0 Then
               If Me.C1TrueDBGrid1.Columns("选择").Value & "" = "True" Then
                   Me.C1TrueDBGrid1.Columns("选择").Value = 0
               Else
                   Me.C1TrueDBGrid1.Columns("选择").Value = 1
               End If
               C1TrueDBGrid1.UpdateData()
           End If
           
       Catch ex As Exception
           MsgBox(ex.Message + vbCrLf + ex.StackTrace, MsgBoxStyle.Information, My.Application.Info.ProductName)
       End Try
    End Sub

visual basic(vb.net)应用C1TrueDBGrid控件如何实现网格区域点选空白区域无操作的结论

通过上面这段代码,就可以很好的实现。

历史上的今天:

本文地址:https://www.huazai186.com/post/242.html
关注我们:请关注一下我们的微信公众号:扫描二维码羽化飞翔的公众号,公众号:yhfx8686
版权声明:本文为原创文章,版权归 羽化飞翔 所有,欢迎分享本文,转载请保留出处!此外,本网站旨在向广大网友提供任何资源的开发、使用、安装教程,所提供的下载服务仅供学习交流探讨,请广大网友学习完成后,24小时内删除相关资源。如果涉及到侵犯版权事宜,请联系删除资源下载信息,谢谢各位的理解与支持!
打赏二维码

发表评论

您必须 登录 才能发表留言!