P. *_*ohm 5 c# compact-framework winforms
ComboBox当我使用Compact Framework 3.5 中的控件时,我想禁用右箭头。
我已经尝试过:
private void Combo_KeyDown(object sender, KeyEventArgs e)
{
if ((e.KeyCode == System.Windows.Forms.Keys.Right))
{
TxtPass.Focus();
return;
}
}
Run Code Online (Sandbox Code Playgroud)
但ComboBox值发生变化。
我查看了此页面上描述的两种方法:http://social.msdn.microsoft.com/forums/en-us/csharpgeneral/thread/F8F2FE7D-A908-4AAF-BD5C-627529BB9805
但这两种方法不适用于紧凑框架。(该属性不存在)。
有人有好主意吗?
问候
编辑
我刚刚找到解决方案
private void Combo_KeyDown(object sender, KeyEventArgs e)
{
if ((e.KeyCode == System.Windows.Forms.Keys.Right))
{
TxtPass.Focus();
e.Handled = true;
return;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的回答
小智 2
这是老派,但效果很好。
[免责声明:我现在所在的地方(家里)没有安装 VS2008,所以我无法验证该ComboBox项目SelectedIndex是否是 Compact Framework 的一部分。如果不是,您就必须找到其他一些技术来解析您的ComboBox项目。]
int comboIndex; // Add 1 variable
private void Combo_KeyDown(object sender, KeyEventArgs e)
{
if (comboIndex != comboBox1.SelectedIndex)
{
if ((e.KeyCode == System.Windows.Forms.Keys.Right))
{
TxtPass.Focus();
comboBox1.SelectedIndex = comboIndex;
return;
}
}
comboIndex = comboBox1.SelectedIndex; // Don't forget to set this!
}
Run Code Online (Sandbox Code Playgroud)