我现在有一个ComboBox,可以向上边输入东西,但是不能输入全角字符,我做好了不能输入,但是还是能粘帖。
请大家指点下!!

解决方案 »

  1.   

    粘贴后判断,ComboBox里面时候有全角字符,如果有,则清空
      

  2.   

    处理 Change 事件,试试。
      

  3.   

    private System.Windows.Forms.ContextMenu screenMenu = new ContextMenu();
    private void Form1_Load(object sender, EventArgs e)
            {
                comboBox1.ContextMenu = screenMenu;
            }禁右键
      

  4.   

       private void comboBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                 if(e.KeyChar==22 )e.Handled = true;
            }
      

  5.   

    右键做个菜单
    comboBox1.ContextMenu = new ContextMenu();
      

  6.   

        private void Form1_Load(object sender, EventArgs e)
            {
                
                System.Windows.Forms.ContextMenu menu = new ContextMenu();            this.comboBox1.ContextMenu = menu ;
            }
      

  7.   

    combobox 设置为只能选择了,可以粘贴嘛?如果想要的是上面的结果,那楼上的有正解了
      

  8.   

    code=C#]comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;[[/code]
      

  9.   

    NavieWindow 滤掉WM_COPYDATA消息 ,然后子类化Combox里面的TextBox
      

  10.   

    combobox 离开事件里判断text是否有全角或者combobox的textchange事件判断或者禁止右键并且禁止禁止Ctrl+C
      

  11.   

    // 屏蔽粘贴,不过窗体上的控件粘贴都给屏蔽了
            private const Keys CopyKeys = Keys.Control | Keys.C;
            private const Keys PasteKeys = Keys.Control | Keys.V;        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
            {
              
                if ((keyData == CopyKeys) || (keyData == PasteKeys))
                {
                    return true;
                }  
               return base.ProcessCmdKey(ref msg, keyData);
            }
            // 屏蔽右键
            private void comboBox1_MouseDown(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Right)
                {
                    ((ComboBox)sender).ContextMenu = new ContextMenu();
                }
            }
      

  12.   

    真是太感谢大家了。我是这样解决的
    屏蔽Ctrl+V:
    在comboBox1_KeyDown的事件中加入如下代码:
    if(e.Control && e.KeyCode==Keys.V)
    {
       e.SuppressKeyPress=true;
    }屏蔽右键粘贴正如楼上所说:
     private void Form1_Load(object sender, EventArgs e) 
            { 
                
                System.Windows.Forms.ContextMenu menu = new ContextMenu();             this.comboBox1.ContextMenu = menu ; 
            }
      

  13.   

    顶15楼,用combobox的原因基于两点:
    1.只能从提供的数据中选择
    2.方便快捷