1.選擇檔案夾路徑傳遞到textbox中
2.遍歷檔案夾所有檔案
3.如果combox選擇.txt或者.xls
則獲取所有后綴為.txt或者.xls
4.獲取textbox2中從鍵盤輸入的文本
從獲取的所有.txt或者.xls文本中篩選出所在文本并輸出打開文本
uj5u.com熱心網友回復:
需求定的很明確啊 一步一步寫唄 先建個表單程式 然后 有textbox textbox2 還有一個Combobox再加幾個測驗按鈕 。。。。一步一步寫 遇見不知道 按照要求百度 這個東西不難uj5u.com熱心網友回復:
得學下下相關知識點,控制元件集,Directory/FileStream,比較麻煩的時最后一個描述功能。uj5u.com熱心網友回復:
基礎沒學好,最后判斷的不知道從哪里下手
uj5u.com熱心網友回復:
你這是要交作業嗎uj5u.com熱心網友回復:
是的,感覺不知道怎么下手
uj5u.com熱心網友回復:
https://pan.baidu.com/s/1WA6QK411sVvKnL3s9DRlvg改改就可以了

public partial class Form1 : Form
{
public static class getIcon
{
[DllImport("Shell32.dll")]
static extern int SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, int cbFileInfo, uint uFlags);
struct SHFILEINFO
{
public IntPtr hIcon;
public int iIcon;
public int dwAttributes;
public char szDisplayName;
public char szTypeName;
}
static public Icon GetFileIcon(string fileName, bool smallIcon)
{
SHFILEINFO fi = new SHFILEINFO();
Icon ic = null;
int iTotal = (int)SHGetFileInfo(fileName, 100, ref fi, 0, (uint)(smallIcon ? 273 : 272));
if (iTotal > 0)
{
ic = Icon.FromHandle(fi.hIcon);
}
return ic;
}
}
public class TreeViewEx : TreeView
{
protected override void OnHandleCreated(EventArgs e)
{
SendMessage(this.Handle, TVM_SETEXTENDEDSTYLE, (IntPtr)TVS_EX_DOUBLEBUFFER, (IntPtr)TVS_EX_DOUBLEBUFFER);
base.OnHandleCreated(e);
}
private const int TVM_SETEXTENDEDSTYLE = 0x1100 + 44;
private const int TVM_GETEXTENDEDSTYLE = 0x1100 + 45;
private const int TVS_EX_DOUBLEBUFFER = 0x0004;
[DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
}
public class ListViewEx : ListView
{
public ListViewEx()
{
SetStyle(ControlStyles.DoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
UpdateStyles();
}
}
TreeViewEx treeView1;
ListViewEx listView1;
public static int BrowNumber = 0, BrowRecord = 0, AssNumber = 0;
public class RecordBrow
{
public string Dir_Name;
public RecordBrow(string _name)
{
Dir_Name = _name;
BrowNumber += 1;
}
}
public static List<RecordBrow> recordBrows = new List<RecordBrow>();
public class FileAssociated
{
public int Id;
public string AssociatedType;
public Bitmap AssociatedIcon;
public FileAssociated(int _id, string _type, Bitmap _icon)
{
Id = _id;
AssociatedType = _type;
AssociatedIcon = _icon;
}
}
public static List<FileAssociated> fileAssociateds = new List<FileAssociated>();
public class DirectoryFile
{
public string Fullname;
public string DFname;
public string DFtype;
public int DFicon;
public string DFtime;
public long DFsize;
public int DFflag;
public DirectoryFile(string _full, string _name, string _type,int _icon, string _time,long _size,int _flag)
{
Fullname = _full;
DFname = _name;
DFtype = _type;
DFicon = _icon;
DFtime = _time;
DFsize = _size;
DFflag = _flag;
}
}
public static List<DirectoryFile> directoryFiles = new List<DirectoryFile>();
public Form1()
{
InitializeComponent();
treeView1 = new TreeViewEx()
{
ItemHeight = 22,
Size = new Size(376, 546),
Location = new Point(12, 41),
Font = new Font("微軟雅黑", 9),
ImageList = imageList1,
ShowLines = false,
ShowRootLines = false,
ShowPlusMinus = false,
};
treeView1.NodeMouseClick += treeView1_NodeMouseClick;
this.Controls.Add(treeView1);
listView1 = new ListViewEx()
{
Size = new Size(515, 547),
Location = new Point(442, 40),
Font = new Font("微軟雅黑", 9),
View = View.Details,
GridLines = false,
SmallImageList = imageList2,
FullRowSelect = true,
};
listView1.Columns.Add("檔案名", 120, HorizontalAlignment.Left);
listView1.Columns.Add("檔案型別", 120, HorizontalAlignment.Left);
listView1.Columns.Add("修改時間", 120, HorizontalAlignment.Left);
listView1.Columns.Add("大小", 120, HorizontalAlignment.Left);
listView1.DoubleClick += ListView1_DoubleClick;
this.Controls.Add(listView1);
ManagementObjectCollection queryCollection = getDrives();
treeView1.Nodes.Clear();
foreach (ManagementObject mo in queryCollection)
{
TreeNode node1 = new TreeNode();
node1.Text = mo["Name"].ToString();
node1.Name = mo["Name"].ToString() + "\\";
node1.ImageIndex = 0;
node1.Tag = 0;
treeView1.Nodes.Add(node1);
}
get_SubDirFile(treeView1.Nodes[0].Name);
SearchNode(treeView1.Nodes, treeView1.Nodes[0].Name);
recordBrows.Add(new RecordBrow(treeView1.Nodes[0].Name));
}
...................................................................................
.............................................................................
uj5u.com熱心網友回復:
最后一個判斷洗掉所以檔案的想不通,用的if
uj5u.com熱心網友回復:
是的,選擇檔案后綴的都可以洗掉,只有判斷洗掉所以的,洗掉不了
uj5u.com熱心網友回復:
好的,有些方面還是學習的少,不是太懂
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/146871.html
標籤:C#
上一篇:Remoting組態檔中如何發布泛型服務(遇到字串長度不能為零的錯誤)
下一篇:webApi 如何知道請求中斷
