c#如何 实现QQ登陆界面的的小键盘功能?只是针对的textbox就可以了比如现在textbox 里面的值是 abc 然后 点击按钮a 后 textbox里面的值变成abca....
同时有删除 等功能...

解决方案 »

  1.   

    用sendkey这个方法,意思就是说在鼠标点击的时候将点击的键对应的值用sendkey发送到键盘。
      

  2.   

    不过QQ的我觉得应该不是sendkey,如果是sendkey就会被hook钩到,就不能防盗号木马了.
    应该是别的方式.
      

  3.   

    http://download.csdn.net/source/520965
    参考。。
      

  4.   


    YES,不过LZ似乎想要软键盘,既然这样的话:
    首先,你建立一个FORM,自己做的像个键盘样子,要放很多Button,够你忙乎的。
    其次,每隔Button都要响应Click事件,也很夸张,但是你必须要做。
    再次,VC中使用setWindowsText(),C#中我就不太清楚了。
      

  5.   

    bool LShift = false;//SHIFT键不按时        bool NoLShift = false;//SHIFT键按下时        bool CLock = false;//Caps Lock放开时        bool NoCLock = false;//Caps Lock按键时
            /// <summary>
            /// 大小写锁定键
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void label_caps_Click(object sender, EventArgs e)
            {
                try
                {
                    if (NoCLock == false)
                    {
                        CLock = true;//按下Caps Lock键时
                        NoCLock = true;
                    }
                    else
                    {
                        CLock = false;//放开Caps Lock键时
                        NoCLock = false;
                    }
                }
                catch
                {
                    return;
                }
            }
            /// <summary>
            /// 左边SHIFT键
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void label_LeftShift_Click(object sender, EventArgs e)
            {
                try
                {                if (NoLShift == false)
                    {
                        LShift = true; //按SHIFT键时
                        NoLShift = true;
                    }
                    else
                    {
                        LShift = false;//不按SHIFT键时
                        NoLShift = false;
                    }
                }
                catch
                {
                    return;
                }
            }
            /// <summary>
            /// 右边SHIFT键
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void label_RightShift_Click(object sender, EventArgs e)
            {
                try
                {                if (NoLShift == false)
                    {
                        LShift = true; //按SHIFT键时
                        NoLShift = true;
                    }
                    else
                    {
                        LShift = false;//不按SHIFT键时
                        NoLShift = false;
                    }
                }
                catch
                {
                    return;
                }
            }
            /// <summary>
            /// TAB键
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void label_tab_Click(object sender, EventArgs e)
            {
                try
                {
                    SendKeys.Send("{Tab}");
                }
                catch
                {
                    return;
                }
            }
            /// <summary>
            /// 回车键
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void label_Enter_Click(object sender, EventArgs e)
            {
                try
                {
                    SendKeys.Send("{Enter}");                //隐藏面板
                    this.Keypanel.Visible = false;
                    pan = false;
                }
                catch
                {
                    return;
                }
            }
            /// <summary>
            /// 退格键
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void label10_Click(object sender, EventArgs e)
            {
                try
                {
                    SendKeys.Send("{Backspace}");
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘数字1
            private void label_1_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("!");
                    }
                    else
                    {
                        SendKeys.Send("1");
                    }            }
                catch
                {
                    return;
                }
            }
            //虚拟键盘数字2
            private void label_2_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("@");
                    }
                    else
                    {
                        SendKeys.Send("2");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘数字3
            private void label_3_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("#");
                    }
                    else
                    {
                        SendKeys.Send("3");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘数字4
            private void label_4_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("$");
                    }
                    else
                    {
                        SendKeys.Send("4");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘数字5
            private void label_5_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("{%}");
                    }
                    else
                    {
                        SendKeys.Send("5");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘数字6
            private void label_6_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("{^}");
                    }
                    else
                    {
                        SendKeys.Send("6");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘数字7
            private void label_7_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("&");
                    }
                    else
                    {
                        SendKeys.Send("7");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘数字8
            private void label_8_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("*");
                    }
                    else
                    {
                        SendKeys.Send("8");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘数字9
            private void label_9_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("{(}");
                    }
                    else
                    {
                        SendKeys.Send("9");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘数字0
            private void label_0_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("{)}");
                    }
                    else
                    {
                        SendKeys.Send("0");
                    }
                }
                catch
                {
                    return;
                }
            }
      

  6.   

      //虚拟键盘 -
            private void label_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("_");
                    }
                    else
                    {
                        SendKeys.Send("-");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘 =
            private void label9_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("{+}");
                    }
                    else
                    {
                        SendKeys.Send("=");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母q
            private void label_q_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("Q");
                    }
                    else
                    {
                        SendKeys.Send("q");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母w
            private void label_w_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("W");
                    }
                    else
                    {
                        SendKeys.Send("w");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母e
            private void label_e_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("E");
                    }
                    else
                    {
                        SendKeys.Send("e");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母r
            private void label_r_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("R");
                    }
                    else
                    {
                        SendKeys.Send("r");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母t
            private void label_t_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("T");
                    }
                    else
                    {
                        SendKeys.Send("t");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母y
            private void label_y_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("Y");
                    }
                    else
                    {
                        SendKeys.Send("y");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母u
            private void label_u_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("U");
                    }
                    else
                    {
                        SendKeys.Send("u");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母i
            private void label_i_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("I");
                    }
                    else
                    {
                        SendKeys.Send("i");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母o
            private void label_o_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("O");
                    }
                    else
                    {
                        SendKeys.Send("o");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母p
      

  7.   

     //虚拟键盘字母p
            private void label_p_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("P");
                    }
                    else
                    {
                        SendKeys.Send("p");
                    }
                }
                catch
                {
                    return;
                }
            }        private void label3_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("{{}");
                    }
                    else
                    {
                        SendKeys.Send("[");
                    }
                }
                catch
                {
                    return;
                }
            }        private void label4_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("{}}");
                    }
                    else
                    {
                        SendKeys.Send("]");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母a
            private void label_a_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("A");
                    }
                    else
                    {
                        SendKeys.Send("a");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母s
            private void label_s_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("S");
                    }
                    else
                    {
                        SendKeys.Send("s");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母d
            private void label_d_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("D");
                    }
                    else
                    {
                        SendKeys.Send("d");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母f
            private void label_f_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("F");
                    }
                    else
                    {
                        SendKeys.Send("f");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母g
            private void label1_g_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("G");
                    }
                    else
                    {
                        SendKeys.Send("g");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母h
            private void label_h_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("H");
                    }
                    else
                    {
                        SendKeys.Send("h");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母j
            private void label_j_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("J");
                    }
                    else
                    {
                        SendKeys.Send("j");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母k
            private void label_k_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("K");
                    }
                    else
                    {
                        SendKeys.Send("k");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母l
            private void label__Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("L");
                    }
                    else
                    {
                        SendKeys.Send("l");
                    }
                }
                catch
                {
                    return;
                }
            }        private void label6_Click(object sender, EventArgs e)
            {
                try
                {
                    if (LShift == true)
                    {
                        SendKeys.Send("{:}");
                    }
                    else
                    {
                        SendKeys.Send(";");
                    }
                }
                catch
                {
                    return;
                }
            }
            //虚拟键盘字母z
            private void label_z_Click(object sender, EventArgs e)
            {
                try
                {
                    if (CLock == true)
                    {
                        SendKeys.Send("Z");
                    }
                    else
                    {
                        SendKeys.Send("z");
                    }
                }
                catch
                {
                    return;
                }
            }
      

  8.   

    jingang123gz  你也是苗族吗?