如何当按下ctrl+c时,把listbox中选择的数据复制下来,然后可以按ctrl+v复制到文件中。
解决方案 »
- 如何解决UI端操作--无法响应(Not Responding)?
- c#的插件开发框架
- 如何用下拉列表框可以作为GrigView的字段
- 未能正确加载包"ReportDesignerPackage"
- 在微软的网站上找到下载要验证是否为正版操作系统,怎么解决这个问题阿。
- 局域网内也能ping通IP,但是在局域网其他机器上无法访问网页,请问如何解决
- 求教高手“关于将当前页添加到收藏夹的代码编写方法”!
- 怎样提高WEB系统安全性!
- [求助]VS2013 代码先行迁移,报:未能加载文件或程序集
- 如何用一个正则表达式替换掉字符串里面的中文?
- 请教如何使用其他窗体的控件
- 关于InitializeComponent中自动生成代码的问题
{
Clipboard.SetDataObject(listBox1.SelectedItem.ToString());
}
在listBox的keydown事件里写if(e.KeyData == Keys.C && e.Control)
{
Clipboard.SetDataObject(listBox1.SelectedItem.ToString());
}
这代码就好了
如果第i行选中了,负值给一个变量
依此类推
然后
Clipboard.SetDataObject(i);
{
string val = "";
for(int i=0;i<listBox1.SelectedItems.Count;i++)
{
val += listBox1.SelectedItems[i].ToString()+"\r\n";
}
Clipboard.SetDataObject(listBox1.SelectedItem.ToString());
}
if(e.KeyData == Keys.C && e.Control)
{
string val = "";
for(int i=0;i<listBox1.SelectedItems.Count;i++)
{
val += listBox1.SelectedItems[i].ToString()+"\r\n";
}
Clipboard.SetDataObject(val);
}
string val = "";
for(int i=0;i<listBox1.SelectedItems.Count;i++)
{
val += listBox1.SelectedItems[i].ToString()+"\r\n";
}
Clipboard.SetDataObject(val);
是没有问题的,但是如果是捕捉listbox的keydown事件,还是不能复制成功。
private void ls_Data_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyData == Keys.C && e.Control)
{
string val = "";
for(int i=0;i<ls_Data.SelectedItems.Count;i++)
{
val += ls_Data.SelectedItem[i].ToString()+"\r\n";
}
Clipboard.SetDataObject(val);
} }
这句有没有执行?如果没有,说明这个函数根本没有绑定到listbox
for(int i=0;i<ls_Data.SelectedItems.Count;i++)
{
val += ls_Data.SelectedItem[i].ToString()+"\r\n";
}
Clipboard.SetDataObject(val);
{
if(e.KeyChar == 3) //Crtl+C
{
Clipboard.SetDataObject(listBoxFileList.Text.Trim());
}
}