Консультация № 170608
20.07.2009, 12:19
0.00 руб.
0 1 1
Здравствуйте уважаемы эксперты помогите пожалуйста доделать программу появилось несколько проблем
1) Неполучается запустить файл вложенный в проект =(
Прописываю такой код, но он не хочет работать хотя воде все подключил...
Process prc = null;
prc = new Process();
prc.StartInfo.FileName = "set_ft.exe"; // set_ft.exe вложен в Resources проекта
prc.Start();

2) проблема с работой ProgressBar (name: Label201)
Вроде все работает, но очень быстро, надо как-то реализовать паузу;
for (int p = 0; p < 100; p++)
{
Label201.Value = Label201.Value + 1;
//pause()
}

И вот еще одна проблема с закрытием формы, использую следующий код

if (MessageBox.Show("Are you sure you want to quit <Program Name>", "<Program Name> Installation", MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.Yes)
{
Close();
}
На кнопке он работает замечательно, но вот как его внедрить в кнопку "закрыть" самого окна не могу понять((

Исходник: http://filekeeper.org/download/shared/Setup__XAML_.rar

Заранее большое спасибо за помощь

Обсуждение

Неизвестный
20.07.2009, 20:51
общий
это ответ
Здравствуйте, Лукин Андрей.
1) Здесь:http://msdn.microsoft.com/ru-ru/library/system.diagnostics.processstartinfo.filename.aspx
Вы сможете почитать о ProcessInfo.FileName и понять какие файлы Вы сможете запустить таким образом.

2) Ваша конструкция с циклом выглядит странно.
Паузу в программе задать не сложно:
Например. Пауза 100мс.
Код:
 
System.Threading.Thread.Sleep(100);

http://msdn.microsoft.com/ru-ru/library/system.threading.thread.sleep.aspx

3) Можно обработать закрытие главной формы:
Код:

using System;
using System.Windows.Forms;

namespace _170608
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// Регистрируем обработчик события закрытия формы
this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);
}

void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result= MessageBox.Show("Вы действительно хотите завершить программу?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if(result!=DialogResult.Yes)
{
// Если завершать не надо
e.Cancel = true;
}
}
}
}

Форма ответа