Ind*_*igo 3 c# drag-and-drop winforms
我正在使用Windows窗体应用程序.
在TextBox控件上的一个拖放操作期间,我想限制用户只提供一个文本文件.
// drag drop module for input text file in textbox starts here
private void textBoxInputTextFile_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}
private void textBoxInputTextFile_DragDrop(object sender, DragEventArgs e)
{
if(e.Data.GetData(DataFormats.FileDrop, true))
{
// Check if it is a text file
// Okay if it is a text file or else give an error message
}
}
Run Code Online (Sandbox Code Playgroud)
此代码只是我之前的文件夹放置操作的示例,但现在我想将其限制为只有一个文件,而且也必须是文本文件.因此,当drop动作发生时,它应首先检查它是否是文本文件然后再做其他事情.
我怎么做?
写在我的头顶(未经测试):
var files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach(var file in files)
{
if(System.IO.Path.GetExtension(file).Equals(".txt", StringComparison.InvariantCultureIgnoreCase))
{
//file has correct extension, do something with file
}
else
{
MessageBox.Show("Not a text file");
}
}
Run Code Online (Sandbox Code Playgroud)
在将这类东西投入生产之前,我可能会添加更多的空检查(例如,如果文件没有扩展名怎么办?)但这应该给你基本的想法.
如果你想要某种更严格的测试来查看被删除的文件是否是文本文件,而不仅仅是检查它的扩展名,我建议你阅读这个问题.
| 归档时间: |
|
| 查看次数: |
4321 次 |
| 最近记录: |