如何在C#里的Button的Text属性实现这样的效果: 
确定(F12)

解决方案 »

  1.   

    不太明白,Text属性不是直接可以设置成:确定(F12)吗?
      

  2.   

    方法一:在button的text属性中输入&f,这样alt+f或者直接按f就可以 响应相应的button的click事件,f后的字母不做计算。但是这样做有一个缺点,就是只能定义字母热键,像f1,方向键,会车键等等都不能定义。而且button的text显示时,带着这个字母。这样就给我们带来麻烦,尤其是如果输入汉语时,还得带着个英文字母。不过倒是可以提醒用户哪个键是热键,呵呵。方法二:下面是代码,很简单的。protected override bool ProcessCmdKey(ref   Message msg, Keys keyData)
            {
                if (keyData == Keys.Left)
                {
                    this.button3.PerformClick();
                    //this.btnTempTest.PerformClick();
                }
                if (keyData == Keys.Right)
                {
                    this.button2.PerformClick();
                }
                return base.ProcessCmdKey(ref   msg, keyData);
            } 如上,button3,button2的热键分别是方向键中的左和右。当然也可以设为f1,f2,会车键等等。字母?当然更没有问题了。
      

  3.   

    重载以下的方法!
    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
            {
                if (keyData == Keys.F12)
                {
                    button1_Click(null, null);
                    return true;
                }
                return base.ProcessCmdKey(ref msg, keyData);
            }
    这样你的按钮就可以响应F12键的点击了!
      

  4.   


      <form id="form1" runat="server">
         <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="确定(Enter)" />
      </form>回车
    <script language="javascript" for="document" event="onkeydown">if (event.keyCode == 13)
    {
     document.form1.Button1.click();
    }
    </script>
      

  5.   

    F12<form id="form1" runat="server">
         <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="确定(F12)" />
    </form><script language="javascript" for="document" event="onkeydown">if (event.keyCode == 123)
    {
     document.form1.Button1.click();
    }
    </script>
      

  6.   


    方法一: 在button的text属性中输入&f,这样alt+f或者直接按f就可以 响应相应的button的click事件,f后的字母不做计算。但是这样做有一个缺点,就是只能定义字母热键,像f1,方向键,会车键等等都不能定义。而且button的text显示时,带着这个字母。这样就给我们带来麻烦,尤其是如果输入汉语时,还得带着个英文字母。不过倒是可以提醒用户哪个键是热键,呵呵。 方法二: 下面是代码,很简单的。 protected override bool ProcessCmdKey(ref  Message msg, Keys keyData) 
            { 
                if (keyData == Keys.Left) 
                { 
                    this.button3.PerformClick(); 
                    //this.btnTempTest.PerformClick(); 
                } 
                if (keyData == Keys.Right) 
                { 
                    this.button2.PerformClick(); 
                } 
                return base.ProcessCmdKey(ref  msg, keyData); 
            } 如上,button3,button2的热键分别是方向键中的左和右。当然也可以设为f1,f2,会车键等等。字母?当然更没有问题了。 楼上的完全正解!!
      

  7.   

    .text="确定(F12)" 好了,如果是想按F12执行按钮事件,那要用到钩子了
      

  8.   

    众位,我对不起大家了,
    我的问题 是这样的
    “如何在C#里的Button的Text属性实现这样的效果: 
    确定(F12)”
      

  9.   

    那在word里做一个下划线的
    然后在复制但Button.Text里吧
      

  10.   

    this.button1.Font = new System.Drawing.Font("SimSun", 9F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
      

  11.   

    试试把按钮的Text属性值:&F12 
    应该这样就可以了吧!!
    Button.Text=&F12;
      

  12.   

    哦!!刚刚没有看清楼主的要求:呵呵,要改一下啊!
    Button.Text=确定(&F12)这样就会又下划线了!!
      

  13.   

    哦!!刚刚没有看清楼主的要求:呵呵,要改一下啊! 
    Button.Text=确定(F&12)这样就会又下划线了!!
      

  14.   

    给你个类:using System;
    using System.Runtime.InteropServices;namespace SystemHotKey
    {
        public delegate void HotkeyEventHandler(int HotKeyID);    public class Hotkey : System.Windows.Forms.IMessageFilter
        {
            System.Collections.Hashtable keyIDs = new System.Collections.Hashtable();
            IntPtr hWnd;        public event HotkeyEventHandler OnHotkey;        public enum KeyFlags
            {
                MOD_NONE=0x0,
                MOD_ALT = 0x1,
                MOD_CONTROL = 0x2,
                MOD_SHIFT = 0x4,
                MOD_WIN = 0x8
            }
            [DllImport("user32.dll")]
            public static extern UInt32 RegisterHotKey(IntPtr hWnd, UInt32 id, UInt32 fsModifiers, UInt32 vk);        [DllImport("user32.dll")]
            public static extern UInt32 UnregisterHotKey(IntPtr hWnd, UInt32 id);        [DllImport("kernel32.dll")]
            public static extern UInt32 GlobalAddAtom(String lpString);        [DllImport("kernel32.dll")]
            public static extern UInt32 GlobalDeleteAtom(UInt32 nAtom);        public Hotkey(IntPtr hWnd)
            {
                this.hWnd = hWnd;
                System.Windows.Forms.Application.AddMessageFilter(this);
            }        public int RegisterHotkey(System.Windows.Forms.Keys Key, KeyFlags keyflags)
            {
                UInt32 hotkeyid = GlobalAddAtom(System.Guid.NewGuid().ToString());
                RegisterHotKey((IntPtr)hWnd, hotkeyid, (UInt32)keyflags, (UInt32)Key);
                keyIDs.Add(hotkeyid, hotkeyid);
                return (int)hotkeyid;
            }        public void UnregisterHotkeys()
            {
                System.Windows.Forms.Application.RemoveMessageFilter(this);
                foreach (UInt32 key in keyIDs.Values)
                {
                    UnregisterHotKey(hWnd, key);
                    GlobalDeleteAtom(key);
                }
            }        public bool PreFilterMessage(ref System.Windows.Forms.Message m)
            {
                if (m.Msg == 0x312)
                {
                    if (OnHotkey != null)
                    {
                        foreach (UInt32 key in keyIDs.Values)
                        {
                            if ((UInt32)m.WParam == key)
                            {
                                OnHotkey((int)m.WParam);
                                return true;
                            }
                        }
                    }
                }
                return false;
            }
        }
    }
    调用实例:            Hotkey hotkey;
                hotkey = new Hotkey(this.Handle);
                Hotkey1 = hotkey.RegisterHotkey(System.Windows.Forms.Keys.F12, Hotkey.KeyFlags.MOD_NONE);
                hotkey.OnHotkey += new HotkeyEventHandler(OnHotkey);
            public void OnHotkey(int HotkeyID)
            {
                if (HotkeyID == Hotkey1)
                {
    this.button1_Click(sender, e);            
                }
      

  15.   

    Button.Text=&F12;这种等式只能实现 确定(F12)” 我要的是确定(F12)
      

  16.   

    呵呵,首先谢谢帮忙当是要看清,Button.Text=(&F12);这种等式只能实现 确定(F12)”   我要的是确定(F12) 我要实现 的就是那个F12中12下面的下划线
      

  17.   

    1、GDI画上去;
    2、继续UP;
    3、考虑用F1-9替代。
      

  18.   

    protected override bool ProcessCmdKey(ref  Message msg, Keys keyData) 
            { 
                if (keyData == Keys.Left) 
                { 
                    this.button3.PerformClick(); 
                    //this.btnTempTest.PerformClick(); 
                } 
                if (keyData == Keys.Right) 
                { 
                    this.button2.PerformClick(); 
                } 
                return base.ProcessCmdKey(ref  msg, keyData); 
            } 
      

  19.   

    確定(F&12)
    呵呵,以假亂真吧,這樣一眼看上去沒有多大區別