Witam,
Muszę powiedzieć, że dopiero od m-ca mam do czynienia z C# dlatego moje umiejętności w tym zakresie są znikome.
Proszę o wytłumaczenie "jak 5-cio latkowi"
Albo pokierowania mnie gdzie mogę taki temat znaleźć i jak go szukać.

Mam taki problem:
Mam program w którym chciałbym aby w czasie uruchomienia tego programu stworzył się "log"
w którym będzie zapisywane wszystko co podczas uruchomienia działo się z programem,
czyli tworzył się plik o nazwie log_2012-10-24_11-47.txt
poniżej kod programu formatki "frmMain" czyli głównej formatki.

 
namespace ABSBilling
{
    public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();
            this.WindowState =    System.Windows.Forms.FormWindowState.Maximized;

          // inicjalizacja kodu automatycznego zapisu log-inu ,
          // który jakoś trzeba napisać

string plik = "log_" + DateTime.Now.ToString("yyyy-MM-dd_HH-mm") + ".txt";
            {
                  Savetofile();
            }
      
     }
       // koniec kodu inicjalizacji

        private void btnAbout_Click(object sender, EventArgs e)
        {
            frmAbout formAbout = new frmAbout();
            formAbout.ShowDialog();
        }

        private void btnLogout_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void btnRoute_Click(object sender, EventArgs e)
        {
            frmRoute formRoute = new frmRoute();
            formRoute.ShowDialog();
        }

        private void menuItem2_Click(object sender, EventArgs e)
        {
            frmMenu formMenu = new frmMenu();
            formMenu.ShowDialog();
        }

        private void menuItem3_Click(object sender, EventArgs e)
        {
            frmAbout formAbout = new frmAbout();
            formAbout.ShowDialog();
        }
    }
}

tutaj podaję kod drugiej formatki "frmMenu" gdzie znajduje się checkbox

private void txtLog_TextChanged(object sender, EventArgs e)
        {
        }

        private void btnLogBrowse_Click(object sender, EventArgs e)
        {
            OpenFileDialog of = new OpenFileDialog();
            of.ShowDialog();
            txtLog.Text = of.FileName;
        }
        int i = 0;
        private void checkBox1_CheckStateChanged(object sender, EventArgs e)
        {            
            if (i == 0)
            {
                if(checkBox1.Checked == true)
                {
                    
                }
                else
                {
                   
                }
            }
 

czy to ma jakiś sensowny początek? i jak to dostosować i jak połączyć to z formatką frmMain?
Mam nadzieję, że to co napisałem jest w miarę jasne. W razie nie jasności wytłumaczę.
Proszę o pomoc.