Wenas compañeros , aquí va mi primera app con VS y c# , la verdad las diferencias con ams son tan abismales en cuestiones tan simples como carga y configuración y opciones en controles que no pienso realizar ninguna app un poco seria en ams , no por eso voy a desacreditar autoplay al que le debo muy buenos momentos y este foro , seguire aportando aqui todo la ayuda que pueda sobre ams y demas , este aprendizaje tambien me servira para hacer aportes para autoplay como dll , plugins y demas , desde C# se puede sacar de todo..
sin mas royos aquí va la aplicación , es un gestor de archivos temporales en principio pero se puede gestionar cualquier otro directorio que queramos , utiliza algún filtrillo para borrar archivos , info sobre los mismos y dos xorradas mas , para ir aprendiendo sobre el tema es un principio, ay me direis que os parece
:
Captura:

Source:
Descarga TemFolder Cleaner:
sin mas royos aquí va la aplicación , es un gestor de archivos temporales en principio pero se puede gestionar cualquier otro directorio que queramos , utiliza algún filtrillo para borrar archivos , info sobre los mismos y dos xorradas mas , para ir aprendiendo sobre el tema es un principio, ay me direis que os parece

Captura:

Source:
using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
namespace listBox
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void buttonFolder_Click(object sender, EventArgs e)
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
Ruta.Text = folderBrowserDialog1.SelectedPath;
GetFilesFromDirectory(Ruta.Text);
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
object o = listBox1.SelectedItem;
if (o is LBItem)
{
try
{
LBItem lbi;
lbi = (LBItem)o;
Process.Start(lbi.Data);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//string todos = "All";
if (Ruta.Text != "")
{
listBox1.Items.Clear();
dataGridView1.Rows.Clear();
DirectoryInfo dir = new DirectoryInfo(Ruta.Text);
FileInfo[] files = dir.GetFiles(sExtension());
listBox1.BeginUpdate();
foreach (FileInfo f in files)
{
string[] row0 = { f.Name, f.Extension, f.FullName, f.Length.ToString(), f.Attributes.ToString(), f.CreationTime.ToString(), f.LastAccessTime.ToString(), f.LastWriteTime.ToString() };
listBox1.Items.Add(new LBItem(f.Name, f.FullName));
dataGridView1.Rows.Add(row0);
}
if (comboBox1.SelectedItem.ToString() == "All")
{
string[] dirs = Directory.GetDirectories(Ruta.Text);
foreach (string folder in dirs)
{
if (Directory.Exists(folder))
{
string curdir = Path.GetFileNameWithoutExtension(folder);
listBox1.Items.Add(new LBItem(curdir, folder));
}
}
}
listBox1.EndUpdate();
}
}
private void buttonDelete_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Delete files?", "Delete Files Selected ? ", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
if (listBox1.SelectedItem == null)
{
if (comboBox1.SelectedItem.ToString() == "All")
{
//MessageBox.Show(comboBox1.SelectedText);
DirectoryInfo dir = new DirectoryInfo(Ruta.Text);
FileInfo[] files = dir.GetFiles();
foreach (FileInfo f in files)
try
{
{
f.Delete();
}
DirectoryInfo[] dirs = dir.GetDirectories();
foreach (DirectoryInfo folder in dirs)
{
folder.Delete(true);
}
}
catch (System.IO.IOException ex)
{
MessageBox.Show(ex.Message);
break;
}
}
else
{
string[] fileList = Directory.GetFiles(Ruta.Text, "*" + comboBox1.SelectedItem.ToString());
foreach (string fileName in fileList)
try
{
File.Delete(fileName);
}
catch (IOException ex)
{
MessageBox.Show(ex.Message);
break;
}
}
}
else
{
for (int i = listBox1.SelectedItems.Count - 1; i >= 0; i--)
try
{
LBItem lbi;
lbi = (LBItem)listBox1.SelectedItems;
if (File.Exists(lbi.Data))
{
File.Delete(lbi.Data);
}
else
{
Directory.Delete(lbi.Data, true);
}
}
catch (System.IO.IOException ex)
{
MessageBox.Show(ex.Message);
break;
}
}
string Title = "Files deleted successfull!";
string Texto = "-----------------------------------";
notifyIcon1.ShowBalloonTip(2000, Title,Texto, ToolTipIcon.Info);
}
else
{
MessageBox.Show("No files selcted");
}
GetFilesFromDirectory(Ruta.Text);
}
// carga del listbox desde un directorio
private void GetFilesFromDirectory(string fullDirectoryPath)
{
comboBox1.Items.Clear();
listBox1.Items.Clear();
comboBox1.Items.Add("All");
DirectoryInfo dir = new DirectoryInfo(fullDirectoryPath);
FileInfo[] files = dir.GetFiles();
listBox1.BeginUpdate();
comboBox1.BeginUpdate();
dataGridView1.Rows.Clear();
foreach (FileInfo f in files)
{
string[] row0 = { f.Name, f.Extension, f.FullName, f.Length.ToString(), f.Attributes.ToString(), f.CreationTime.ToString(), f.LastAccessTime.ToString(), f.LastWriteTime.ToString() };
listBox1.Items.Add(new LBItem(f.Name, f.FullName));
dataGridView1.Rows.Add(row0);
if (comboBox1.FindString(f.Extension) == -1)
{
comboBox1.Items.Add(f.Extension);
}
}
comboBox1.EndUpdate();
string[] dirs = Directory.GetDirectories(fullDirectoryPath);
foreach (string folder in dirs)
{
if (Directory.Exists(folder))
{
string curdir = Path.GetFileNameWithoutExtension(folder);
listBox1.Items.Add(new LBItem(curdir, folder));
}
}
listBox1.EndUpdate();
if (fullDirectoryPath != "")
Ruta.Text = fullDirectoryPath;
buttonDelete.Enabled = true;
}
private void Form1_Load(object sender, EventArgs e)
{
GetFilesFromDirectory(Path.GetTempPath());
}
//abrir url...
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
try
{
VisitLink();
}
catch (Exception ex)
{
MessageBox.Show("Unable to open link that was clicked.");
}
}
private void VisitLink()
{
linkLabel1.LinkVisited = true;
Process.Start("http://www.amsspecialist.info/index.php");
}
private void dataGridView1_CellMousseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
try
{
string spath = Convert.ToString(dataGridView1.CurrentRow.Cells[2].Value);
Process.Start(spath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
// clase para añadir un item y una data en los listbox
class LBItem
{
public string texto;
public string Data;
public LBItem(string c, string v)
{
texto = c;
Data = v;
}
public override string ToString()
{
return texto;
}
}
public string sExtension()
{
string extension;
// string todos = "All";
if (comboBox1.SelectedItem != null)
{
if (comboBox1.SelectedItem.ToString() == "All")
{
extension = "*.*";
}
else
{
extension = "*" + comboBox1.SelectedItem.ToString();
}
}
else
{
// Aqui deberías asignar algún valor a extension en caso de que el combo no tenga un item seleccionado
extension = "*.*";
}
return extension;
}
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
}
private void Ruta_MouseDoubleClick(object sender, MouseEventArgs e)
{
Process.Start(Ruta.Text);
}
}
}
Descarga TemFolder Cleaner: