摘要:讀取目錄下的組件資訊並且可匯出組件名稱
只要指定某個資料夾,自動去讀取該資料下的(*.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)
三小俠 小弟獻醜,歡迎指教