Останавливает ли IsAccessible значение false при нажатии кнопки, остановить или пропустить какое-либо кодирование? - PullRequest
0 голосов
/ 01 мая 2018

Я хочу создать приложение для формы Windows, в котором, когда я нажимаю кнопку, кнопка отключается, а также отображается курсор ожидания, просто чтобы указать, что программа все еще работает, а затем выполняет все действия, назначенные событию нажатия кнопки, и в самый последний момент кнопка снова активируется.

Это мой код

Cursor.Current = Cursors.WaitCursor;
button1.IsAccessible=false;

string path=textBox1.Text;
var files=Directory.GetFiles(path,"*.xml",SearchOption.AllDirectories);
foreach (var item in files)
{
    XDocument xdoc=XDocument.Load(item);
    xdoc.Descendants("title").First().Value="Resumen";
    xdoc.Descendants("source").First().Value="Apolpa";
    xdoc.Descendants("volume").First().Value="300";
    xdoc.Descendants("issue").First().Value="XXV";
    xdoc.Descendants("label").First().Value="[1]";
    xdoc.Save(item);
}

MessageBox.Show("Complete!");
button1.IsAccessible=true;

У меня вопрос, поскольку я добавил button1.IsAccessible=false; в самом начале кода (до того, как в файлы были внесены какие-либо изменения), он пропустит или не выполнит должным образом все коды в событии нажатия кнопки?

Это может быть глупый вопрос, но я новичок в этом, и я просто хотел знать наверняка ... Спасибо

1 Ответ

0 голосов
/ 01 мая 2018

Вы можете использовать button1.Enabled=false; вместо button1.IsAccessible=false; и button1.Enabled=true; вместо button1.IsAccessible=true; и оставить Cursor.Current = Cursors.WaitCursor как есть.

Кроме того, я бы предпочел использовать Progressbar в такой ситуации. Проверьте код ниже:

Cursor.Current = Cursors.WaitCursor;
button1.Enabled=false;
//set the starting value of progressBar to 0
progressBar1.Minimum=0;

string path=textBox1.Text;
var files=Directory.GetFiles(path,"*.xml",SearchOption.AllDirectories);
//set the max value of progressBar to the no. of files
progressBar1.Maximum = files.Length;

foreach (var item in files)
{
    //the value of the progressBar increases by +1 for each file
    progressBar1.Value = progressBar1.Value+1;

    XDocument xdoc=XDocument.Load(item);
    xdoc.Descendants("title").First().Value="Resumen";
    xdoc.Descendants("source").First().Value="Apolpa";
    xdoc.Descendants("volume").First().Value="300";
    xdoc.Descendants("issue").First().Value="XXV";
    xdoc.Descendants("label").First().Value="[1]";
    xdoc.Save(item);
}

MessageBox.Show("Complete!");
button1.Enabled=true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...