У меня есть пользовательский Winform Infopath UserControl, который загружает форму из библиотеки sharepoint. После открытия формы у меня есть серия вызовов функций, чтобы вытащить некоторые данные из формы, даже воспользоваться функцией скриншота. Но загрузка формы занимает много времени, а другие функции заканчиваются слишком быстро, намного до загрузки формы, что дает мне неправильные результаты.Дождитесь загрузки Winform UserControl
Есть ли способ, что я могу иметь функцию ожидания, что ждет формы InfoPath, чтобы закончить загрузку до того, как другие функции называются (в C#)
--update
Пример кода:
Внутри UserControl, у меня есть функция форма инициализации, которая в основном загружает форму
public void InitializeInfoPathForm(string myurl)
{
if (this.IsInitialized) return;
CreateForm(new Uri(myurl),null);
}
public void CreateForm(
Uri formUrlName,
Stream dataStream)
{
TestInitialization();
try
{
this.formControl.Close();
// Open/create a form
if (dataStream != null)
formControl.Open(
formUrlName.ToString()
);
else
{
formControl.Open(
formUrlName.ToString());
}
RefreshView(UIStatesForm.DocumentReadMode);
}
catch (Exception)
{
RefreshView(UIStatesForm.NoDocumentAvailable);
throw;
}
}
Winform выглядит следующим образом:
public partial class Form1 : Form
{
public Form1(string sharepoint_url)
{
InitializeComponent();
this.infoPathUserControl1.InitializeInfoPathForm(sharepoint_url);
takescreenshot();
}
}
Я попытался положить takescreenshot() в Form1_Load и Form1_Shown eventhandlers, но до сих пор скриншоты происходят гораздо раньше, чем форма нагрузки, так как FormControl.Open() занимает много времени. Я мог бы поместить функцию скриншота в событие button_click, но я хочу автоматизировать эту процедуру. Я даже попробовал поместить его в процедуру button_click и вызвал button.PerformClick из обработчика событий Form_Load.
Рекомендации по Pls.
Можете ли вы разместить несколько примеров кода, чтобы помочь проиллюстрировать вашу проблему? – GrandMasterFlush
Подпишитесь на отображаемое событие формы. Поместите «другие функции» в обработчик события. –