如题,谢谢~!

解决方案 »

  1.   

    参看
    http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c94c.aspx#q961q
      

  2.   

    楼上的,你那是屏蔽Ctrl+V....
    在TextBox中,不能通过简单的捕捉键盘来屏蔽Copy动作。
    过滤掉它的Copy消息就可以了。
    protected override void WndProc(ref Message m)
    {
    int WM_COPY = 0x0301;
    if(m.Msg == WM_COPY)
    {
    return;
    }
    base.WndProc (ref m);
    }
    这样一来,通过右键菜单进行Copy也同样被屏蔽了。当然,如果你边右键菜单也不让它出来,那么可以这么做:
    textbox.ContextMenu = new ContextMenu();
      

  3.   

    专门为你测试而写的,其实很简单:
    using System;
    using System.Windows.Forms;
    namespace TextBoxEx
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    public class TextBoxEx:System.Windows.Forms.TextBox
    {
    public TextBoxEx()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
    private const int WM_COPY=0x0301;
    protected override void DefWndProc(ref Message m)
    {
    if(m.Msg==WM_COPY)return;
    base.DefWndProc (ref m);
    }
    }
    }
      

  4.   

    你大概是不想让人在你重写的textbox中复制文本吧,那也可以如下:
    public const int WM_GETTEXT=0x000d;
    protected override void WndProc(ref Message m)
    {
    if(m.Msg==WM_GETTEXT)return;
    base.WndProc (ref m);
    }如果不让粘贴就把以上的WM_COPY,WM_GETTEXT改为WM_PASTE,WM_SETTEXT
      

  5.   

    没看到MyLf(不睡觉的鱼)已经给出了正确答案,浪费时间了,哈哈