示例场景:从Microsoft Word复制一行时,它会被复制到剪贴板,文本也可以粘贴到记事本和其他人 .
我的问题:我想开发一个可以从MySQL数据库中复制元组的应用程序 . 从复制的元组中,每列的数据应存储在一个数组中,并粘贴到另一个应用程序的文本框时,每个文本框必须粘贴一个数据,直到元组结束 .
即一个应用程序有一个带有5个文本框的表单:textbox1,textbox2,textbox3,textbox4,textbox5和数据库表有5列存储数据 .
设计的应用程序将显示来自数据库的数据,并且在复制元组时,它必须作为[0],[1],a [2],a [3],a [4]存储在数组中 . 然后在将其粘贴到具有这5个文本框的另一个应用程序时,只有[0]的数据必须存储到textbox1,只有[1]的数据必须存储到textbox2,依此类推 .
这可以实现吗?如果可以的话,如何解决这个问题 . 如果我问得太多,请原谅我 .
此致,Nipun Shakya
1 回答
好吧,你显然不能让你的用户直接与mySql交互,但我猜这不是你的意思?
你可以控制两端,源头和目标吗?如果是这样,您需要做的就是决定可以放入剪贴板并再次检索的格式
这是一个简单的示例,可以帮助您入门 .
仅用于演示,它使用
ListView
并在Ctl-C
上将每个项目的文本复制到Clipboard
,通过垂直制表符对它们进行拼写 .在TextBox中
Ctl-V
时,所有这些字符串再次被拆分,并且每个字符串都插入一个单独的行 .这应该通过以下功能进行扩展:
还要照顾
Shift-Insert
和Ctrl-Insert
根据您的实际问题进行调整:
而不是
ListView
使用你的来源;您无法与DataTable
进行用户交互,因此您需要一些替代控件 . 当然会想到DataGridView
,但它确实可以成为焦点,并且可以听取KeyDown .而不是一个
TextBox
中的几行,你应该将数据放到目标TextBoxes
;也许你可以把它们放在List<TextBox>
中,以便简单地访问它们 .