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
我也想知道,呵呵……帮你顶了