日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#制作软键盘

發布時間:2023/12/14 C# 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#制作软键盘 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文下載地址:https://pan.baidu.com/s/1ubpeTwuQvAPNlC4QLDpp8w

提取碼:1234

c#制作軟鍵盤,先來個圖。

上面這個圖是制作的最終結果顯示。

在制作鍵盤的時候,總體來說還是比較簡單的,只有幾個地方比較復雜一點。布局什么的我就不說了,這里所有的按鍵都是按鈕,在網上也看到過有用圖片弄得,但是感覺那種效果不是很好,可塑性太差了。下面分步驟說一下我這里是怎么做的:

1、每次按完按鍵之后光標顯示在最上面的文本框中,這里文本框為textbox。

這個問題我在編寫之前并沒有發現,可當用的時候發現,如果不進行設置,在點擊按鈕之后,文本框中根本沒有光標。這樣在輸入空格的時候根本就不知道輸入到哪了。那么這個應該怎么做呢?

[DllImport("USER32.DLL")] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); //導入尋找windows窗體的方法 [DllImport("USER32.DLL")] public static extern bool SetForegroundWindow(IntPtr hWnd); //導入為windows窗體設置焦點的方法

在窗體類中加入上面代碼。本程序中窗體類指的是:public partial class Edit : Form。這個下面,所有的winform窗體都會有一個類繼承form類。

然后在每個按鈕的點擊方法中加入下列語句:

textBox.Focus(); //設置光標的位置到文本尾 textBox.Select(textBox.Text.Length, 0); //滾動到控件光標處 textBox.ScrollToCaret();

這樣,在點擊按鈕后會發現光標會在textbox中了。

2、backspace按鍵

在做到backspace按鍵的時候,怎么才能刪除文本框中的內容,像我們電腦的鍵盤一樣呢?跟1中的相似。首先在窗體類中加入下述代碼:

[DllImport("USER32.DLL")] public static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo); //導入模擬鍵盤的方法

接下來,下backspace按鍵的點擊方法中加入下列代碼:

SendKeys.Send("{BACKSPACE}");

這個是使這個按鈕模擬電腦上的backspace按鍵的功能。可能有人會有疑惑,我怎么知道我刪除的是哪里的內容。因為每次我們在按鍵的時候都是將光標放在了textbox的末尾,所以每次刪除的都是textbox中的內容。

3、caps lock 和 shift功能

這個我實現的方法是在文本框的下面添加兩個lable,caps和shift各一個,用來顯示兩個按鍵是否按下。默認設置為不可見。也就是?Label_Shift.Visible = false;

然后設置兩個標志位,如下

private bool Shift = false;

private bool Caps_Lock = false;

這里舉一個例子,shift按鈕:代碼如下:

private void button_shift_Click(object sender, EventArgs e) {switch (Shift){case false:{Label_Shift.Visible = true;Shift = true;break;}case true:{Label_Shift.Visible = false;Shift = false;break;}}textBox.Focus();//設置光標的位置到文本尾 textBox.Select(textBox.Text.Length, 0);//滾動到控件光標處 textBox.ScrollToCaret(); }

這里右shift和caps lock的是一樣的。這里就不在多說了。

辦法笨了一些,但是比較簡單,適用于初學者,速度還可以。

效果圖如下:

總結

以上是生活随笔為你收集整理的C#制作软键盘的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。