IDialogインターフェイス - automatic9045/TRS.MS-12 GitHub Wiki

アプリケーション独自のダイアログを表示するメソッドを提供します。

public interface IDialog

基本情報

名前空間   TRS.TMS12.Interfaces
アセンブリ  MS-12.PluginHost.dll

Usage

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("発券が完了しました。");
    }
}

メソッド

void Show(string text, string caption, ImageSource icon, bool isButtonEnabled = true);

汎用的なダイアログを表示します。

パラメーター

text string

表示するテキスト。

caption string

タイトル バーに表示するキャプション。

icon System.Windows.Media.ImageSource

タイトル バーに表示するアイコン。

isButtonEnabled bool

「確認」ボタンを有効にするか。

備考

原則 ShowErrorDialog(string, bool) メソッド、 ShowWarningDialog(string, bool) メソッド、 ShowInformationDialog(string, bool) メソッド、 ShowNotImplementedDialog(string, bool) メソッド、 ShowConfirmDialogAsync(string) メソッド を使用し、これらのメソッドで実現できない場合のみこのメソッドを使用して下さい。

void Show(string text, string caption, bool isButtonEnabled = true);

汎用的なダイアログを表示します。

パラメーター

text string

表示するテキスト。

caption string

タイトル バーに表示するキャプション。

isButtonEnabled bool

「確認」ボタンを有効にするか。

備考

原則 ShowErrorDialog(string, bool) メソッド、 ShowWarningDialog(string, bool) メソッド、 ShowInformationDialog(string, bool) メソッド、 ShowNotImplementedDialog(string, bool) メソッド、 ShowConfirmDialogAsync(string) メソッド を使用し、これらのメソッドで実現できない場合のみこのメソッドを使用して下さい。

void ShowErrorDialog(string text, bool isButtonEnabled = true);

エラーダイアログを表示します。

パラメーター

text string

表示するテキスト。

isButtonEnabled bool

「確認」ボタンを有効にするか。

void ShowWarningDialog(string text, bool isButtonEnabled = true);

警告ダイアログを表示します。

パラメーター

text string

表示するテキスト。

isButtonEnabled bool

「確認」ボタンを有効にするか。

void ShowInformationDialog(string text, bool isButtonEnabled = true);

情報ダイアログを表示します。

パラメーター

text string

表示するテキスト。

isButtonEnabled bool

「確認」ボタンを有効にするか。

例:処理をしている間、ダイアログを表示する

PluginHost.Dialog.ShowInformationDialog("処理中…", false);
await Task.Delay(1000); // 何らかの重い処理
PluginHost.Dialog.Hide();

void ShowNotImplementedDialog(string text, bool isHelpWanted = false);

未実装であることを示すダイアログを表示します。

パラメーター

text string

表示するテキスト。

isHelpWanted bool

この機能について、情報提供を受け付けているか。
true に設定すると「情報提供お待ちしております。」というメッセージが表示されます。

Task ShowErrorDialogAsync(string text);

確認ボタンを押すまで待機するエラーダイアログを表示します。

パラメーター

text string

表示するテキスト。

備考

パフォーマンスに僅かながら問題があるため、ShowErrorDialog(string, bool) メソッドを優先的に使用して下さい。

Task ShowWarningDialogAsync(string text);

確認ボタンを押すまで待機する警告ダイアログを表示します。

パラメーター

text string

表示するテキスト。

備考

パフォーマンスに僅かながら問題があるため、ShowWarningDialog(string, bool) メソッドを優先的に使用して下さい。

Task ShowInformationDialogAsync(string text);

確認ボタンを押すまで待機する情報ダイアログを表示します。

パラメーター

text string

表示するテキスト。

備考

パフォーマンスに僅かながら問題があるため、ShowInformationDialog(string, bool) メソッドを優先的に使用して下さい。

void ShowNotImplementedDialogAsync(string text, bool isHelpWanted = false);

確認ボタンを押すまで待機する、未実装であることを示すダイアログを表示します。

パラメーター

text string

表示するテキスト。

isHelpWanted bool

この機能について、情報提供を受け付けているか。
true に設定すると「情報提供お待ちしております。」というメッセージが表示されます。

備考

パフォーマンスに僅かながら問題があるため、ShowNotImplementedDialog(string, bool) メソッドを優先的に使用して下さい。

Task<bool> ShowConfirmDialogAsync(string text);

中止、確認の 2 つのボタンをもち、どちらかのボタンを押すまで待機するダイアログを表示します。

パラメーター

text string

表示するテキスト。

if (await PluginHost.Dialog.ShowConfirmDialogAsync("アプリケーションを終了してもよろしいですか?"))
{
    Application.Current.Shutdown();
}
⚠️ **GitHub.com Fallback** ⚠️