none
datagridview定制粘贴动作的问题 RRS feed

  • 问题

  • Datagridview的单元格在编辑状态下,用户可以按Ctrl+V或者鼠标右键进行粘贴操作。我想通过自己的代码来进行粘贴校验,然后决定是否粘贴。想通过Datagridview的wndproc拦截到粘贴消息然后处理,但是无法拦截到。请问应该如何处理合适?谢谢
    2020年6月16日 6:45

答案

  • 1.定制自己的TextBox,在WndProc中拦截粘贴消息,加入自定义处理。

    2.为DataGridView追加EditingControl,类型是自定义TextBox。

    这样用户在输入的时候,就相当于在自定义TextBox中输入,粘贴的处理就会被拦截。

    2020年6月17日 1:36

全部回复

  • Hi karaiwasabi,

    为了更好的进行测试,有个问题想要和你确认一下:

    你想要粘贴到 DataGridView 中的内容的格式是什么?Text? Excel? 还是其他格式?

    据我所知,Winform中的 Clipboard.GetDataObject方法 可以得到系统剪贴板上当前的数据。

    期待你的更新。

    Best Regards,

    Xingyu Zhao


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2020年6月16日 9:07
    版主
  • 谢谢回复。问题已经解决
    2020年6月16日 9:16
  • Hi karaiwasabi,

    很高兴听到你的问题已经解决,你可以将你的解决方法分享在论坛上并将其标记为答复吗?这将帮助其他遇到同样问题的成员在论坛上快速找到答案。

    Best Regards,

    Xingyu Zhao


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2020年6月17日 1:19
    版主
  • 1.定制自己的TextBox,在WndProc中拦截粘贴消息,加入自定义处理。

    2.为DataGridView追加EditingControl,类型是自定义TextBox。

    这样用户在输入的时候,就相当于在自定义TextBox中输入,粘贴的处理就会被拦截。

    2020年6月17日 1:36