日期:2014-05-17  浏览次数:20937 次

急急,愁愁,radiobutton单选按钮方向键如何控制选择
在winform中添了6个单选按钮radiobutton,第一行3个按钮,第二行3个按钮。
程序运行时,为什么方向键的上下和左右键选择,效果是一样的,都是焦点依次的从左到右移动,移动到第一行的最后一个,才会移动到第二行。
为什么不能在第一行的时候,按下键直接跳到第二行呢??

我试过了在onkeydown中进行方向键控制,这样也无效无法干扰它的移动。
rbtn_PreviewKeyDown这个函数进行方向键控制,也不行。
keydown也试了也不行。

请高手指教如何能够改写上下方向键,让radiobutton可以上下行移动?????
radiobutton winform

------解决方案--------------------
可以,你自己再keypress事件中控制
------解决方案--------------------
在继承类里可以相应:


internal class MyRadioButton : RadioButton
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Up 
------解决方案--------------------
 keyData == Keys.Down 
------解决方案--------------------
 keyData == Keys.Left 
------解决方案--------------------
 keyData == Keys.Right)
return true;
 
return base.ProcessCmdKey(ref msg, keyData);
}
}


用委托或者event告诉外面吧。