Вопросы По C# - Запись Данных В Файл И Меню Для Программы В Трее

Тема в разделе ".NET", создана пользователем tumanovalex, 27 янв 2012.

  1. tumanovalex

    tumanovalex Active Member

    Регистрация:
    17 июн 2009
    Сообщения:
    26
    Симпатии:
    0
    Программа на C# по нажатию кнопки запускает отсчет времени и меняет надпись на кнопке с Старт на Стоп, при повторном нажатии на кнопке процесс отсчета времени прекращается.
    Подскажите, пожалуйста:
    1. Как сделать так, чтобы при щелчке правой клавишей мыши на значке программы рядом со значком в трее появлялось контекстное меню, в котором бы были следующие пункты:
    - сразу после запуска программы активные пункты Старт, Открыть и Выход;
    - после выбора пункта Старт в контекстном меню он менялся бы на Стоп, при выборе этого пункта (Стоп) процесс отсчета времени прекращался, Стоп менялся бы на Старт.
    2. Иногда после закрытия программы иконка в трее остается и исчезает только при наведении на нее указателя мыши. Подскажите, пожалуйста, как с этим бороться?
    3. Результаты отсчета времени сохраняю в файл:
    Код (Text):
    public bool bl = true;

    public DateTime dtStart;

    public string sWrite;

    private void WriteData(string sFileName)
    {
    FileStream pFileWrite = new FileStream(sFileName, FileMode.Append, FileAccess.Write);
    BinaryWriter file_write = new BinaryWriter(pFileWrite, System.Text.Encoding.Default);
    file_write.Write(sWrite);
    file_write.Close();
    }

    private void btnStart_Click(object sender, EventArgs e)
    {
    if(bl == false)
    {
    bl = true;
    btnStart.Text = "Старт";
    timer1.Enabled = false;
    DateTime dtStop = DateTime.Now;
    TimeSpan tmDiff = dtStop - dtStart;
    lblTotal.Text = tmDiff.TotalMinutes.ToString().Substring(0, 5);
    lblEndTime.Text = "Стоп:";
    lblTimeStop.Text = dtStop.ToString("HH:mm:ss");
    sWrite += lblTimeStop.Text + "\t" + lblTotal.Text + "\n";
    WriteData("Результат.txt");
    }
    else
    {
    bl = false;
    btnStart.Text = "Стоп";
    lblTotal.Text = "";
    timer1.Enabled = true;
    dtStart = DateTime.Now;
    lblTimeStart.Text = dtStart.ToString("HH:mm:ss");
    sWrite = dtStart.ToString("d") + "\t" + lblTimeStart.Text + "\t";
    }
    }
    При этом в файле вначале строки появляется знак #:
    Код (Text):
    #27.01.2012 13:19:30    13:19:35    0,088
    #27.01.2012 13:20:25    13:20:28    0,051
    Хотелось бы, чтобы записанные данные представляли собой обычный для Windows текстовой формат без непонятных значков.
     

    Вложения:

    • MyQ_GuiCS.zip
      Размер файла:
      92,6 КБ
      Просмотров:
      3
Загрузка...

Поделиться этой страницей