Вы пытаетесь обновить пользовательский интерфейс в другом потоке. Вы можете вызвать этот метод для обновления в потоке пользовательского интерфейса.
Device.BeginInvokeOnMainThread(() =>
{
txtUsuario.Text = myobject.nombreUsuario;
});
Я предполагаю, что Вы могли фальсифицировать его. Представьте булево свойство "IsInstalled", принял значение по умолчанию ко лжи. Затем в Program.cs, измените свое Основное () метод для сходства с этим:
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (!Properties.Settings.Default.IsInstalled)
{
Properties.Settings.Default.IsInstalled = true;
Properties.Settings.Default.Save();
MessageBox.Show("Install Complete");
return;
}
Application.Run(new Form1());
}
Таким образом, теперь, когда приложение сначала установлено, оно проверяет, что свойство и просто отображает сообщение пользователю и затем выходит.
Если бы Вы хотели стать хитрыми затем, то Вы могли бы посмотреть на парсинг Активации URI для развертывания и иметь параметр URI, который указывает, должна ли программа работать, когда это сначала установлено или просто близко тихо.
Для отключения автоматического запуска после установки Вы просто отключаете активацию URL, как обсуждено в статье MSDN Как к: Отключите Активацию URL Приложений ClickOnce (использующий инструмент MageUI.exe).
Отключить активацию URL для Вашего приложения
Выберите вкладку Deployment Options.
Очистите Автоматически запущенное приложение после установки флажка.
Сохраните и подпишите декларацию.
Можно сделать это путем редактирования декларации приложения в Волшебнике. Существует флажок для остановки приложения, бегущего за установкой.
Если Вы не удобное редактирование декларации вручную, или с Волшебником затем можно использовать встроенный класс развертывания, чтобы проверить, является ли это первым разом, когда приложение работало.
using System.Deployment.Application
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (ApplicationDeployment.CurrentDeployment.IsFirstRun)
{
MessageBox.Show("Install Complete");
return;
}
Application.Run(new Form1());
}