日期:2014-05-20  浏览次数:21066 次

WinForm的两个小问题
第一个:
    我的Form中加入了一个WebBrowser之后,我在Form上的KeyDown事件就不响应了?请问是怎么回事?

第二个:
    DataGridView能够在列的标题上面加上更大的标题么?比如有本来有a、b、c三列,现在想在他们上面加上更大的列标题,比如x、y,然后x下面有a、b两列,y下面只有c一列。

------解决方案--------------------
第二个: 好象不行。没见过有这样的功能。
------解决方案--------------------
第一个:应该也不会。让FROM1接受KEYDOWN事件的时候,让FORM1成活动窗体先。
------解决方案--------------------
给窗体添加如下的重写函数就可以处理按键了:
protected override bool ProcessDialogKey(Keys keyData)
{
System.Console.WriteLine(keyData);
return base.ProcessDialogKey(keyData);
}
------解决方案--------------------
在窗体上加入WebBrowser后,不能引发窗体的KeyDown事件,如果要处理按键信息,请添加重写的函数ProcessDialogKey.

在ProcessDialogKey的方法中对按键处理.
------解决方案--------------------
第二个问题是多列头的问题,DataGridView不能实现这个功能,请用第三方控件,或自己做特殊的处理.