IDialogインターフェイス - automatic9045/TRS.MS-12 GitHub Wiki
アプリケーション独自のダイアログを表示するメソッドを提供します。
public interface IDialog
名前空間 TRS.TMS12.Interfaces
アセンブリ MS-12.PluginHost.dll
IDialog を実装したクラスのインスタンスは、IPlugin.PluginHost から取得することが出来ます。
// IPlugin を継承したインターフェイスを実装するクラスであれば、IPrinterPlugin でなくても使用可
public class SamplePrinter : IPrinterPlugin
{
public string PrinterName { get; } = "Sample Printer W58mm";
public int PrintWidth { get; } = PrintWidthes.Width58;
public IPluginHost PluginHost { get; set; }
public void Initialize(string printerName)
{
}
public void Dispose()
{
}
// 確認ダイアログで「確認」が押された場合のみ、券面を Bitmap 形式のファイルとして保存する
// 注意:実際にプラグインを開発する時は、このサンプルのようにむやみにダイアログを表示させることはしないで下さい。
public async void Print(List<TicketBase> tickets, int issuingNumber, Action<int> onPrint, Action<Exception, int> onError)
{
if (!await PluginHost.Dialog.ShowConfirmDialogAsync("券面画像を保存しますか?")) return;
tickets.ForEach((t, i) =>
{
PluginHost.Dialog.ShowInformationDialog($"発券中\n\n{(i + 1)} / {tickets.Count}", false);
try
{
Directory.CreateDirectory($"Images");
t.Bitmap.Save($"Images\\{issuingNumber}-{(i + 1)}.bmp", ImageFormat.Bmp);
}
catch (Exception ex)
{
onError(ex, i);
}
onPrint(i);
});
PluginHost.Dialog.ShowInformationDialog("発券が完了しました。");
}
}
汎用的なダイアログを表示します。
表示するテキスト。
タイトル バーに表示するキャプション。
タイトル バーに表示するアイコン。
「確認」ボタンを有効にするか。
原則 ShowErrorDialog(string, bool) メソッド、 ShowWarningDialog(string, bool) メソッド、 ShowInformationDialog(string, bool) メソッド、 ShowNotImplementedDialog(string, bool) メソッド、 ShowConfirmDialogAsync(string) メソッド を使用し、これらのメソッドで実現できない場合のみこのメソッドを使用して下さい。
汎用的なダイアログを表示します。
表示するテキスト。
タイトル バーに表示するキャプション。
「確認」ボタンを有効にするか。
原則 ShowErrorDialog(string, bool) メソッド、 ShowWarningDialog(string, bool) メソッド、 ShowInformationDialog(string, bool) メソッド、 ShowNotImplementedDialog(string, bool) メソッド、 ShowConfirmDialogAsync(string) メソッド を使用し、これらのメソッドで実現できない場合のみこのメソッドを使用して下さい。
エラーダイアログを表示します。
表示するテキスト。
「確認」ボタンを有効にするか。
警告ダイアログを表示します。
表示するテキスト。
「確認」ボタンを有効にするか。
情報ダイアログを表示します。
表示するテキスト。
「確認」ボタンを有効にするか。
PluginHost.Dialog.ShowInformationDialog("処理中…", false);
await Task.Delay(1000); // 何らかの重い処理
PluginHost.Dialog.Hide();
未実装であることを示すダイアログを表示します。
表示するテキスト。
この機能について、情報提供を受け付けているか。
true
に設定すると「情報提供お待ちしております。」というメッセージが表示されます。
確認ボタンを押すまで待機するエラーダイアログを表示します。
表示するテキスト。
パフォーマンスに僅かながら問題があるため、ShowErrorDialog(string, bool) メソッドを優先的に使用して下さい。
確認ボタンを押すまで待機する警告ダイアログを表示します。
表示するテキスト。
パフォーマンスに僅かながら問題があるため、ShowWarningDialog(string, bool) メソッドを優先的に使用して下さい。
確認ボタンを押すまで待機する情報ダイアログを表示します。
表示するテキスト。
パフォーマンスに僅かながら問題があるため、ShowInformationDialog(string, bool) メソッドを優先的に使用して下さい。
確認ボタンを押すまで待機する、未実装であることを示すダイアログを表示します。
表示するテキスト。
この機能について、情報提供を受け付けているか。
true
に設定すると「情報提供お待ちしております。」というメッセージが表示されます。
パフォーマンスに僅かながら問題があるため、ShowNotImplementedDialog(string, bool) メソッドを優先的に使用して下さい。
中止、確認の 2 つのボタンをもち、どちらかのボタンを押すまで待機するダイアログを表示します。
表示するテキスト。
if (await PluginHost.Dialog.ShowConfirmDialogAsync("アプリケーションを終了してもよろしいですか?"))
{
Application.Current.Shutdown();
}