Я использую компонент круга загрузки, когда хочу прочитать некоторые данные из RSS. Я хочу отобразить этот компонент круга для ожидания пользователя.Как отобразить компонент обработки в форме окна
вот мой код:
private void btnUpdateRSS_Click(object sender, EventArgs e)
{
if (txtRSSGroup_Address.Text.Trim() == string.Empty)
return;
DialogResult dr = MsgBox.Show("اطلاعات قبلی از این RSS حذف شده و با اطلاعات جدید جایگزین می شود. \n \n آیا مطمئن به انجام عملیات به روز رسانی هستید؟", "هشدار", Mode.YesNo);
if (dr == System.Windows.Forms.DialogResult.Yes)
{
try
{
string[] RSSNews;
loadingCircleFF.Visible = true;
string address = txtRSSGroup_Address.Text.Trim();
System.Threading.ThreadPool.QueueUserWorkItem((o) =>
{
RSSNews = Utility.RSSNews_Read(address);
for (int i = 0; i < RSSNews.Length; i++)
{
if (RSSNews[i] != null && RSSNews[i] != string.Empty)
{
RSS.RSSGroup_ID = RSSGroupID;
RSS.RSS_Content = RSSNews[i];
RSS.RSS_PersianDate = FreeControls.PersianDate.Now.ToString("YYYY/MM/dd");
RSS.User_FirstName = GlobalVariable.User_FirstName;
RSS.User_LastName = GlobalVariable.User_LastName;
RSS.Insert();
}
else
break;
}
this.BeginInvoke(new Action(() => { loadingCircleFF.Visible = false; }));
});
RSS.DeleteByGroup(RSSGroupID);
MsgBox.Show("عملیات به روز رسانی با موفقیت انجام شد.", "موفقیت", Mode.Information);
DTcancel_RSS(null, null);
}
catch
{
MsgBox.Show("خطا در دریافت اطلاعات از RSS", "خطا", Mode.Information);
}
}
}
, но проблема заключается в следующем:
перед тем, чтобы отобразить загрузки круг, это начать читать RSS и мое приложение будет замок! поэтому кружок загрузки никогда не отображается.
как исправить эту проблему?
Вы должны начать новую тему для чтения RSSNews. И сделать отображение ложным, только ваше чтение RSSnews завершено. –
Использование концепции Threading – Sathish
@kishoreVM Как узнать, что прочитано RSSnews? – Elahe