你需要在什么状态中实现?
如果是全局中实现就要用系统监测,如果是当前form,就需要设定控件,因为label是不能edit的,所以,需要一个editable的控件,比如textbox,还有就是激活问题,editable=false的时候无法获得forcuse,所以需要自定义当前forcuse,在监测keybord的按键,然后将editale=true

解决方案 »

  1.   

    首先你的 label 要能够得到焦点,然后捕捉按键消息,是 F2 的话,则显示一个 Editbox 让用户来改,改了之后再把 Editbox 里面的值赋给 label 好了。
      

  2.   

    to bbwolf(大坏狼)  ,kiddycoffee:
        就是在form中,其实我也是这麽想的,不过label我没找到keydown或者keypress事件啊?如何捕捉keyborad按键事件??
      

  3.   

    to declude(Visual C#) :
       你的意思是用textbox代替label?   还有如何让textbox实现label的AutoSize的功能?textbox的AutoSize只能控制控件的高度,但不能控制宽度,就像windwos下文件更名时,那个文本框始终跟文件名的宽度保持一致
      

  4.   

    我想大家的意思是这样的哦:
    1 先让它获得焦点,
    2 然后产生一个对话框之类的输入界面如MessageBox.Show(...)
    3 然后将输入的字符串赋给label
    另外我还想到这么一个办法:
    在设计的时候,在label的文字的位置上用一个无边框的TextBox来代替,