C#中如何使ComboBox禁止粘帖

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

itneste 2009-04-29
[Quote=引用 15 楼 liaozhihua 的回复:]
禁止黏贴好像又点困难哦,楼上兄弟说的禁止右键也未尝不能解决。不过,我想一般项目当中:用到ComboBox这个控件的,都是选择不让人输入。让他选择不就得了。只能选不能输入,就有个属性设置一下就可以了:DropDownStyle(DropDownList)。
帮顶
[/Quote]
顶15楼,用combobox的原因基于两点:
1.只能从提供的数据中选择
2.方便快捷

春天的气息 2009-04-29
27楼正解,收了

zouahaijun 2009-04-29
真是太感谢大家了。我是这样解决的
屏蔽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 ;
}

lsd123 2009-04-29
.

sushou2009 2009-04-29
[Quote=引用 7 楼 LoveLife_Go 的回复:]
C# codeprivate System.Windows.Forms.ContextMenu screenMenu = new ContextMenu();
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.ContextMenu = screenMenu;
}

禁右键
[/Quote]
UP下这个~~

Jock.Chen 2009-04-29

// 屏蔽粘贴,不过窗体上的控件粘贴都给屏蔽了
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();
        }
    }

goldxinx 2009-04-29
combobox 离开事件里判断text是否有全角

或者combobox的textchange事件判断

或者禁止右键并且禁止禁止Ctrl+C

liye9801 2009-04-29
[Quote=引用 15 楼 liaozhihua 的回复:]
禁止黏贴好像又点困难哦,楼上兄弟说的禁止右键也未尝不能解决。不过,我想一般项目当中:用到ComboBox这个控件的,都是选择不让人输入。让他选择不就得了。只能选不能输入,就有个属性设置一下就可以了:DropDownStyle(DropDownList)。
帮顶
[/Quote]
就是这了.

huwuling922 2009-04-29
学习,up

Red_angelX 2009-04-29
NavieWindow 滤掉WM_COPYDATA消息 ,然后子类化Combox里面的TextBox

xiaoyasheng 2009-04-29
同意15楼的,

wxm3630478 2009-04-29
code=C#]comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;[[/code]

whowhen21 2009-04-29
combobox 设置为只能选择了,可以粘贴嘛?

如果想要的是上面的结果,那楼上的有正解了

dhb008 2009-04-29
不允许访问粘贴板,应该就不能粘贴了吧—个人理解

fdc123 2009-04-29
禁止右键就不能CTRL+V了?

ljhcy99 2009-04-29
private void Form1_Load(object sender, EventArgs e)
{

System.Windows.Forms.ContextMenu menu = new ContextMenu();

this.comboBox1.ContextMenu = menu ;
}

zgke 2009-04-29
右键做个菜单
comboBox1.ContextMenu = new ContextMenu();

leviliao08 2009-04-29
禁止黏贴好像又点困难哦,楼上兄弟说的禁止右键也未尝不能解决。不过,我想一般项目当中:用到ComboBox这个控件的,都是选择不让人输入。让他选择不就得了。只能选不能输入,就有个属性设置一下就可以了:DropDownStyle(DropDownList)。
帮顶

hm020 2009-04-29
[Quote=引用 7 楼 LoveLife_Go 的回复:]
C# codeprivateSystem.Windows.Forms.ContextMenu screenMenu=newContextMenu();privatevoidForm1_Load(objectsender, EventArgs e)
{
comboBox1.ContextMenu=screenMenu;
}

禁右键
[/Quote]

正解

david_anwei 2009-04-29
应该没有的!

zouahaijun 2009-04-29
添加一个控件进去来实现禁止右键,感觉不是很好,有没其他的属性设置一下就可以的呢

FlyBee 2009-04-29
[Quote=引用 7 楼 LoveLife_Go 的回复:]
C# codeprivate System.Windows.Forms.ContextMenu screenMenu = new ContextMenu();
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.ContextMenu = screenMenu;
}
禁右键
[/Quote]
这个好

mdq001 2009-04-29
[Quote=引用 9 楼 zgke 的回复:]
private void comboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if(e.KeyChar==22 )e.Handled = true;
}
[/Quote]

顶这个!

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

zouahaijun 2009-04-29
[Quote=引用 4 楼 blestcc 的回复:]
屏蔽快捷鍵和右鍵菜單
[/Quote]
怎么屏蔽,请教请教?

LoveLife_Go 2009-04-29
private System.Windows.Forms.ContextMenu screenMenu = new ContextMenu();
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.ContextMenu = screenMenu;
}

禁右键

CloneCenter 2009-04-29
处理 Change 事件,试试。

zuoxxx 2009-04-29
在Validating事件里写验证呢??

blestcc 2009-04-29
屏蔽快捷鍵和右鍵菜單

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

wonsoft 2009-04-29
不会用,顶一下。

shmilqdd 2009-04-29
我也想知道,呵呵……帮你顶了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值