C#WinForm写一个附件上传框
时间: 2023-12-14 17:38:46 浏览: 198
可以使用C# WinForm中的OpenFileDialog控件实现附件上传框。
首先,在WinForm中添加一个按钮和一个TextBox控件。当用户单击按钮时,弹出文件选择对话框,用户可以选择要上传的文件,并将文件路径显示在TextBox中。
下面是实现代码:
```csharp
private void btnUpload_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "All files (*.*)|*.*";
openFileDialog.Multiselect = false;
openFileDialog.Title = "Select a file";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
txtFilePath.Text = openFileDialog.FileName;
}
}
```
在代码中,我们使用了OpenFileDialog控件来打开文件选择对话框,设置了过滤器为所有文件,只允许选择单个文件。
当用户选择文件后,我们将文件路径显示在TextBox中。
注意:在使用OpenFileDialog控件前,需要在Form中添加命名空间using System.Windows.Forms;。
相关问题
C#WinForm写一个附件上传框,实现功能: 实现附件的上传,查看和删除. 上传附件类型: 图片, office文件,PDF,TXT档及其它.
实现一个附件上传框需要以下几个步骤:
1. 设计 WinForm 界面,包括上传、查看和删除按钮。
2. 编写上传代码,可以使用 OpenFileDialog 控件选择文件,然后将文件上传到指定的文件夹。在上传文件的时候需要判断文件类型是否符合要求。
3. 编写查看代码,可以使用 ListView 控件展示上传的文件列表,并可以通过双击文件名打开文件进行查看。
4. 编写删除代码,用户可以通过选择文件并点击删除按钮将文件从上传文件夹中删除。
下面是具体实现的代码,你可以参考一下:
1. 设计 WinForm 界面
在窗体上拖放一个 Button 控件,设置 Text 属性为“上传文件”,再拖放一个 ListView 控件,设置 Dock 属性为“Fill”。在 ListView 控件中添加三列“文件名”、“大小”、“上传日期”。
2. 编写上传代码
使用 OpenFileDialog 控件选择文件,然后将文件上传到指定的文件夹。在上传文件的时候需要判断文件类型是否符合要求。
```csharp
private void btnUpload_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Multiselect = true;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
foreach (string fileName in openFileDialog.FileNames)
{
// 判断上传文件类型是否符合要求
string extension = Path.GetExtension(fileName).ToLower();
if (extension != ".jpg" && extension != ".png" && extension != ".bmp" && extension != ".gif" &&
extension != ".doc" && extension != ".docx" && extension != ".xls" && extension != ".xlsx" &&
extension != ".pdf" && extension != ".txt")
{
MessageBox.Show("不支持上传此类型的文件!");
return;
}
// 上传文件
string destFolder = @"D:\UploadFiles\";
string destFileName = Guid.NewGuid().ToString() + extension;
string destFilePath = Path.Combine(destFolder, destFileName);
File.Copy(fileName, destFilePath);
// 添加到 ListView 控件中
ListViewItem item = new ListViewItem(Path.GetFileName(fileName));
item.SubItems.Add(new FileInfo(fileName).Length.ToString());
item.SubItems.Add(DateTime.Now.ToString());
listViewFiles.Items.Add(item);
}
}
}
```
3. 编写查看代码
使用 ListView 控件展示上传的文件列表,并可以通过双击文件名打开文件进行查看。
```csharp
private void listViewFiles_DoubleClick(object sender, EventArgs e)
{
if (listViewFiles.SelectedItems.Count > 0)
{
string fileName = listViewFiles.SelectedItems[0].Text;
string filePath = Path.Combine(@"D:\UploadFiles\", fileName);
Process.Start(filePath);
}
}
```
4. 编写删除代码
用户可以通过选择文件并点击删除按钮将文件从上传文件夹中删除。
```csharp
private void btnDelete_Click(object sender, EventArgs e)
{
if (listViewFiles.SelectedItems.Count > 0)
{
DialogResult result = MessageBox.Show("确定要删除选中的文件吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
string fileName = listViewFiles.SelectedItems[0].Text;
string filePath = Path.Combine(@"D:\UploadFiles\", fileName);
File.Delete(filePath);
listViewFiles.SelectedItems[0].Remove();
}
}
}
```
这样你就可以实现一个简单的附件上传框了。
阅读全文