首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带屏幕键盘的c#应用程序

带屏幕键盘的c#应用程序
EN

Stack Overflow用户
提问于 2013-10-26 22:11:18
回答 1查看 498关注 0票数 0

我正在用c#和im制作一个Windows应用程序,为这个应用程序创建屏幕上的键盘,我有一些问题,因为我不知道如何做一些事情。

我有什么

  • Form1具有很少的文本框和少量的富文本框。
  • panel1有丰富的文本框和5个按钮(A、B、C、DEL,输入)。

我想要什么?

  • 每次单击任何文本框或任何富文本框时,我都希望panel1出现。
  • 我希望将我单击的文本框中的文本显示在panel1上的富文本框中。
  • 当我单击panel1上的"ENTER“按钮时,我希望将来自panel1上richtextbox的文本转移到我以前单击过的textbox中。(当然,panel1会在那之后隐藏起来)。

我已经让panel1在单击textbox或richtextbox (我使用了"Enter“事件)时显示出来,而panel1在单击"ENTER”按钮时会隐藏起来。当我每次单击文本框或富文本框而不为每个文本框编写"Enter“事件时,是否还有其他方式显示panel1?

现在最困难的部分是将文本从形式转移到面板,反之亦然。要从单击的textbox中传输文本,我只需添加一行代码以“输入”事件:

textBox1.Text = richTextBox1.Text;

将文本从richtextbox1传输回文本框是我的主要问题.我有解决办法,但我想要一个正确而简单的方法.我的解决方案太简单复杂了..。

将在这里解释im寻找什么:例如,如果int可以记住数字,字符串可以记住文本,那么就是这样。我想要能记住我上次点击的文本框的东西。我希望你能理解我的意思。

我的英语不是我的主要语言,所以如果你听不懂,请回答,我会尽力解释的。

谢谢大家抽出时间。

EN

回答 1

Stack Overflow用户

发布于 2013-10-26 23:08:32

我会这样做:

  1. 创建一个从Textbox派生的基本用户控件(如果您只使用Textbox),或者如果使用的文本框更多,则创建一个控件。
  2. 处理"Enter“事件就像您现在在这个基类中所做的一样。
  3. 创建将从EventArgs类派生并存储yout控件值的类。现在让我们称它为"TextboxArgs“。
  4. 在基本用户控件中,创建一个事件并在您拥有的"Enter“处理程序中引发它,并使用"TextboxArgs”类表单步骤3传递文本作为事件参数。
  5. 在您的面板中订阅此事件,以便它能够正确地做出反应。

现在,只需使用为每个文本框拥有的基本用户控件,它将引发一个事件并将其值作为参数传递。小组将对此作出回应。如果这样做,那么无论添加多少文本框,都不需要任何额外的编码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19612460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档