马拉雅拉姆语屏幕键盘






3.76/5 (10投票s)
马拉雅拉姆语的屏幕键盘
引言
当我需要用马拉雅拉姆语写一篇作文时,我发现用键盘打字很困难。因此,屏幕键盘的想法由此产生。我曾经在键盘无法工作时使用过屏幕键盘,所以我决定用马拉雅拉姆语编写一个屏幕键盘。
背景
当我开始编写代码时,我需要马拉雅拉姆语字母的 Unicode 代码。我在这个链接找到了它。
Using the Code
首先,我使用 Visual C# - Windows Forms Application 创建了一个新项目,并通过拖放按钮设计了它的界面,如下所示
然后我为所有按钮赋予了值。可以使用“\u
”前缀将 Unicode 值赋予按钮,以指示编译器给定的值是 Unicode。
例如:马拉雅拉姆语字母“അ”的 Unicode 代码是“0D05”,在 C# 中必须表示为“\u0D05”。以下代码为按钮赋予 Unicode 值。
button1.Text = "\u0D05";
button2.Text = "\u0D06";
button3.Text = "\u0D07";
button4.Text = "\u0D08";
button5.Text = "\u0D09";
button6.Text = "\u0D0A";
button7.Text = "\u0D0B";
button8.Text = "\u0D0C";
button9.Text = "\u0D0E";
button10.Text = "\u0D0F";
button11.Text = "\u0D10";
button12.Text = "\u0D12";
button13.Text = "\u0D13";
button14.Text = "\u0D14";
button15.Text = "\u0D3E";
button16.Text = "\u0D3F";
button17.Text = "\u0D40";
button18.Text = "\u0D41";
button19.Text = "\u0D42";
button20.Text = "\u0D43";
button22.Text = "\u0D46";
button23.Text = "\u0D47";
button24.Text = "\u0D48";
button25.Text = "\u0D02";
button26.Text = "\u0D1F";
button27.Text = "\u0D1E";
button28.Text = "\u0D1D";
button29.Text = "\u0D1C";
button30.Text = "\u0D1B";
button31.Text = "\u0D1A";
button32.Text = "\u0D19";
button33.Text = "\u0D18";
button34.Text = "\u0D17";
button35.Text = "\u0D16";
button36.Text = "\u0D15";
button37.Text = "\u0D26";
button38.Text = "\u0D25";
button39.Text = "\u0D24";
button40.Text = "\u0D23";
button41.Text = "\u0D22";
button42.Text = "\u0D21";
button43.Text = "\u0D20";
button44.Text = "\u0D31";
button45.Text = "\u0D30";
button46.Text = "\u0D2F";
button47.Text = "\u0D2E";
button48.Text = "\u0D2D";
button49.Text = "\u0D2C";
button50.Text = "\u0D2B";
button51.Text = "\u0D2A";
button52.Text = "\u0D39";
button53.Text = "\u0D28";
button54.Text = "\u0D27";
button55.Text = "\u0D38";
button56.Text = "\u0D37";
button57.Text = "\u0D36";
button58.Text = "\u0D35";
button59.Text = "\u0D34";
button60.Text = "\u0D33";
button61.Text = "\u0D32";
button62.Text = "\u0D4D";
button72.Text = "\u0D57";
在为所有按钮赋予 Unicode 值后,我们需要编写触发代码来捕获按钮点击及其操作。在这个应用程序中,所有按钮都需要相同的代码来触发。操作代码是
void buttonClicked(object sender, EventArgs e)
{
Button button = sender as Button;
SendKeys.Send(button.Text);
}
“buttonClicked()
”函数会将Button
的值发送到目标位置。当我点击值为“അ”的按钮时,该函数会将字母“അ”发送到目标位置。“SendKeys.Send()
”函数用于将值发送到目标位置。它产生与在键盘上按下“അ”键相同的效果。
现在操作代码已经准备就绪。现在我们想将此操作添加到应用程序中的所有按钮。
“EventHandler
”类用于将操作函数添加到按钮。
button1.Click += new EventHandler(buttonClicked);
button2.Click += new EventHandler(buttonClicked);
button3.Click += new EventHandler(buttonClicked);
button4.Click += new EventHandler(buttonClicked);
button5.Click += new EventHandler(buttonClicked);
button6.Click += new EventHandler(buttonClicked);
button7.Click += new EventHandler(buttonClicked);
button8.Click += new EventHandler(buttonClicked);
button9.Click += new EventHandler(buttonClicked);
button10.Click += new EventHandler(buttonClicked);
button11.Click += new EventHandler(buttonClicked);
button12.Click += new EventHandler(buttonClicked);
button13.Click += new EventHandler(buttonClicked);
button14.Click += new EventHandler(buttonClicked);
button15.Click += new EventHandler(buttonClicked);
button16.Click += new EventHandler(buttonClicked);
button17.Click += new EventHandler(buttonClicked);
button18.Click += new EventHandler(buttonClicked);
button19.Click += new EventHandler(buttonClicked);
button20.Click += new EventHandler(buttonClicked);
button22.Click += new EventHandler(buttonClicked);
button23.Click += new EventHandler(buttonClicked);
button24.Click += new EventHandler(buttonClicked);
button25.Click += new EventHandler(buttonClicked);
button26.Click += new EventHandler(buttonClicked);
button27.Click += new EventHandler(buttonClicked);
button28.Click += new EventHandler(buttonClicked);
button29.Click += new EventHandler(buttonClicked);
button30.Click += new EventHandler(buttonClicked);
button31.Click += new EventHandler(buttonClicked);
button32.Click += new EventHandler(buttonClicked);
button33.Click += new EventHandler(buttonClicked);
button34.Click += new EventHandler(buttonClicked);
button35.Click += new EventHandler(buttonClicked);
button36.Click += new EventHandler(buttonClicked);
button37.Click += new EventHandler(buttonClicked);
button38.Click += new EventHandler(buttonClicked);
button39.Click += new EventHandler(buttonClicked);
button40.Click += new EventHandler(buttonClicked);
button41.Click += new EventHandler(buttonClicked);
button42.Click += new EventHandler(buttonClicked);
button43.Click += new EventHandler(buttonClicked);
button44.Click += new EventHandler(buttonClicked);
button45.Click += new EventHandler(buttonClicked);
button46.Click += new EventHandler(buttonClicked);
button47.Click += new EventHandler(buttonClicked);
button48.Click += new EventHandler(buttonClicked);
button49.Click += new EventHandler(buttonClicked);
button50.Click += new EventHandler(buttonClicked);
button51.Click += new EventHandler(buttonClicked);
button52.Click += new EventHandler(buttonClicked);
button53.Click += new EventHandler(buttonClicked);
button54.Click += new EventHandler(buttonClicked);
button55.Click += new EventHandler(buttonClicked);
button56.Click += new EventHandler(buttonClicked);
button57.Click += new EventHandler(buttonClicked);
button58.Click += new EventHandler(buttonClicked);
button59.Click += new EventHandler(buttonClicked);
button60.Click += new EventHandler(buttonClicked);
button61.Click += new EventHandler(buttonClicked);
button62.Click += new EventHandler(buttonClicked);
button72.Click += new EventHandler(buttonClicked);
“buttonClicked()
”函数作为通用的点击鼠标操作触发器添加到所有按钮。
现在我们可以使用此应用程序输入马拉雅拉姆语字母。但是,点击的按钮的值会收到应用程序本身。因此,我们可以使用此应用程序在其他任何地方输入。我们需要始终禁用此应用程序。如果这样做,我们就可以在活动窗口中输入马拉雅拉姆语字母。禁用窗口的代码如下
protected override CreateParams CreateParams
{
get
{
CreateParams param = base.CreateParams;
param.ExStyle |= 0x08000000;
return param;
}
}
现在,我们的应用程序窗口始终处于非活动状态,我们可以将马拉雅拉姆语字母输入到活动应用程序中。
但是,新的问题是活动窗口可能会覆盖我们的应用程序。因此,我们需要始终拖动我们的应用程序以设置一个好的位置,以便同时查看活动应用程序和我们的键盘应用程序。因此,最好使我们的应用程序“始终置顶”。我们可以通过表单的“属性”框将“TopMost”属性设置为“true
”来应用此属性。
是的,现在我们的应用程序将始终位于最顶层并且始终处于非活动状态。因此,我们可以轻松地输入马拉雅拉姆语字母。
希望你喜欢这篇文章。感谢阅读。
历史
- 2014 年 6 月 2 日:初始版本