摘要:讀取目錄下的組件資訊並且可匯出組件名稱
只要指定某個資料夾,自動去讀取該資料下的(*.dll)檔,並且設定給GridView顯示,也可匯出組件名稱
應用程式版面配置如下:

程式碼如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;
namespace ReadAssemblyName
public partial class Form1 : Form
{
FolderBrowserDialog FFolderBrowserDialog = null;
ArrayList FFileList = null;
SaveFileDialog FSaveFileDialog = null;
string[] sFiles;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
btnSearch.Enabled = false;
btnExport.Enabled = false;
dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
}
private void btnOpen_Click(object sender, EventArgs e)
{
using (FFolderBrowserDialog = new FolderBrowserDialog())
{
if (FFolderBrowserDialog.ShowDialog(this) == DialogResult.OK)
txtPath.Text = FFolderBrowserDialog.SelectedPath;
}
}
private void txtPath_TextChanged(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(((TextBox)(sender)).Text) == false)
{
btnSearch.Enabled = true;
}
}
private void btnSearch_Click(object sender, EventArgs e)
{
string sFolderPath = txtPath.Text;
FFileList = new ArrayList();
FileInfo oFileInfo;
if (Directory.Exists(sFolderPath))
{
sFiles = Directory.GetFiles(sFolderPath, "*.dll");
foreach (string item in sFiles)
{
oFileInfo = new FileInfo(item);
FFileList.Add(oFileInfo);
}
dataGridView1.DataSource = FFileList;
}
}
/// <summary>
/// dataGridView 的資料繫結完成事件。
/// </summary>
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
if (dataGridView1.RowCount > 0)//判斷 dataGridView 控制項是否有任何一筆資料。
btnExport.Enabled = true;
else
btnExport.Enabled = false;
}
/// <summary>
/// 輸出組件檔名。
/// </summary>
private void btnExport_Click(object sender, EventArgs e)
{
using (FSaveFileDialog = new SaveFileDialog())
{
try
{
FSaveFileDialog.Filter = "(文件.txt)|*.txt";
if (FSaveFileDialog.ShowDialog() == DialogResult.OK)
{
using (StreamWriter oStreamWriter = new StreamWriter(FSaveFileDialog.FileName))
{
foreach (FileInfo item in FFileList)
{
oStreamWriter.WriteLine(item.Name, ToString());
}
}
MessageBox.Show("儲存成功!");
}
}
catch
{
MessageBox.Show("儲存失敗!");
}
}
}
}
} |
(ReadAssemblyName)
三小俠 小弟獻醜,歡迎指教