在两个单独的项目之间交换ListBox项目

时间:2016-06-01 09:34:26

标签: c# winforms user-controls

假设我们在C#中有一个项目,可以通过文本框中的按钮文本添加到列表框中。Project 1

现在假设我们有第二个项目我们没有源代码,我们希望将项目从列表框发送到项目编号2中的每个独立文本框{{3 }}

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:2)

是的,有办法。从容易出错但易于编写的注入击键到另一个应用程序的输入队列(SendKeys,并结合让其他应用程序首先关注键盘)到更精确的方式{{3并直接摆弄Windows API以更改文本框'内容发送UI Automation。这取决于其他应用程序的编写内容(例如,自定义UI框架通常不使用本机Windows控件,也不支持可访问性)。

使用剪贴板可以使SendKeys方法更加健壮,特别是关于键盘上可能不存在的字符。对于一次性任务,我可能会这样做。我曾经做过类似的事情,通过在PowerShell中编写脚本来将我的RSS源从一个应用程序迁移到另一个应用程序。如果你寻求稳健性,你应该研究其他选择。 UI自动化可能很麻烦,但至少提供API来直接处理这个问题(尽管您必须学习一堆概念才能理解如何使用它)。 Windows API路由要求您很好地理解Windows在.NET框架下的工作原理。