把C#程序(含多个Dll)合并成一个Exe的超简单方法
- 工具-NuGet包管理-管理解决方法NuGet程序包-浏览-搜索
Costura.Fody
,安装,重新运行解决方法即可绑定Dll到Exe里面去。
winform支持打开H5资源
- NuGet 添加
CefSharp.WinForms
- 调用
public ChromiumWebBrowser browser;
public void InitBrowser()
{
Cef.Initialize(new CefSettings());
browser =new ChromiumWebBrowser(Application.StartupPath + @"\wenbenjuanzhi\HTML5文本阅读卷纸动画代码\index.html");
panel1.Controls.Add(browser);
browser.Dock = DockStyle.Fill;
}
按钮点击打开文件夹选择文件夹,textBox1.Text赋值路径
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog dialog=new FolderBrowserDialog();
if (dialog.ShowDialog()==DialogResult.OK)
{
textBox1.Text = dialog.SelectedPath;
}
}
递归获取所有文件夹下子文件夹下所有文件,并初始化FileData
DirectoryInfo folder=new DirectoryInfo(textBox1.Text);
GetFileList(folder);
private void GetFileList(DirectoryInfo diroot)
{
foreach (FileInfo fileInfo in diroot.GetFiles())
{
SetFileInfo(fileInfo);
}
foreach (DirectoryInfo dirSub in diroot.GetDirectories())
{
GetFileList(dirSub);
}
}
获取视频时长(添加Shell32.dll)
public static string GetMediaTimeLen(string path)
{
try
{
Shell32.Shell shell = new Shell32.Shell();
Shell32.Folder folder = shell.NameSpace(path.Substring(0, path.LastIndexOf("\\")));
Shell32.FolderItem folderitem = folder.ParseName(path.Substring(path.LastIndexOf("\\") + 1));
if (Environment.OSVersion.Version.Major >= 6)
{
return folder.GetDetailsOf(folderitem, 27);
}
else
{
return folder.GetDetailsOf(folderitem, 21);
}
}
catch (Exception ex) { return null; }
}
DataGridView添加内容
DataTable table=new DataTable();
table.Columns.Add("名称");
table.Columns.Add("格式");
table.Columns.Add("时长");
table.Columns.Add("大小");
table.Columns.Add("最近访问时间");
table.Columns.Add("创建时间");
table.Columns.Add("修改时间");
table.Columns.Add("文件路径");
foreach (FileData fileData in FileDatas)
{
table.Rows.Add(new object[] {fileData.FileName, fileData.FileSuffix, fileData.FileTime, fileData.FileCount, fileData.FileVisitTime, fileData.FileCreatTime, fileData.FileModifyTime,fileData.FilePath });
}
dataGridView1.DataSource = table;
把DataGridView导出Excel方法
public static bool SaveToExcelAdd(string filePath, DataGridView dataGridView)
{
bool result = true;
FileStream fs = null;
HSSFWorkbook workbook = null;
ISheet sheet = null;
int rowCount = dataGridView.RowCount;
int colCount = dataGridView.ColumnCount;
int numCount = 0;
if (!File.Exists(filePath))
{
try
{
fs = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite);
workbook = new HSSFWorkbook();
sheet = workbook.CreateSheet("Sheet1");
IRow row = sheet.CreateRow(0);
for (int j = 0; j < colCount; j++)
{
if (dataGridView.Columns[j].Visible && dataGridView.Rows[0].Cells[j].Value != null)
{
ICell cell = row.CreateCell(j);
cell.SetCellValue(dataGridView.Columns[j].HeaderText.ToString());
}
}
workbook.Write(fs);
}
catch
{
result = false;
return result;
}
finally
{
if (fs != null)
{
fs.Close();
fs.Dispose();
fs = null;
}
workbook = null;
}
}
try
{
fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
workbook = new HSSFWorkbook(fs);
sheet = workbook.GetSheetAt(0);
if (sheet == null)
{
result = false;
return result;
}
numCount = sheet.LastRowNum + 1;
}
catch
{
result = false;
return result;
}
for (int i = 0; i < rowCount; i++)
{
if (numCount + i >= 65536)
{
result = false;
break;
}
IRow row = sheet.CreateRow(numCount + i);
for (int j = 0; j < colCount; j++)
{
if (dataGridView.Columns[j].Visible && dataGridView.Rows[i].Cells[j].Value != null)
{
ICell cell = row.CreateCell(j);
cell.SetCellValue(dataGridView.Rows[i].Cells[j].Value.ToString());
}
}
}
try
{
fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
workbook.Write(fs);
}
catch
{
result = false;
return result;
}
finally
{
if (fs != null)
{
fs.Close();
fs.Dispose();
fs = null;
}
workbook = null;
}
return result;
}
操作结束后打开跳转指定文件夹
Process.Start("F:\QQDownLoad\mokexiazai");