Added application message dialog for .Net Forms and Console apps.

This commit is contained in:
Erich Barnstedt
2016-07-15 09:46:42 +02:00
parent 8910582c4c
commit a0c243ebe3
9 changed files with 139 additions and 4 deletions
@@ -18,12 +18,47 @@ using System.Threading.Tasks;
namespace NetCoreConsoleServer
{
public class ApplicationMessageDlg : IApplicationMessageDlg
{
private string message = string.Empty;
private bool ask = false;
public override void Message(string text, bool ask)
{
this.message = text;
this.ask = ask;
}
public override async Task<bool> ShowAsync()
{
if (ask)
{
message += " (y/n, default y): ";
Console.Write(message);
}
else
{
Console.WriteLine(message);
}
if (ask)
{
ConsoleKeyInfo result = Console.ReadKey();
return await Task.FromResult((result.KeyChar == 'y') || (result.KeyChar == 'Y') || (result.KeyChar == '\r'));
}
else
{
return await Task.FromResult(true);
}
}
}
public class Program
{
public static void Main(string[] args)
{
try
{
ApplicationInstance.MessageDlg = new ApplicationMessageDlg();
ApplicationInstance application = new ApplicationInstance();
application.ApplicationName = "UA Sample Server";
application.ApplicationType = ApplicationType.Server;