次の方法で共有


BaseForm.ServiceProvider プロパティ

定義

クラスのサービス オブジェクトを取得します。

protected public:
 property IServiceProvider ^ ServiceProvider { IServiceProvider ^ get(); };
protected internal IServiceProvider ServiceProvider { get; }
member this.ServiceProvider : IServiceProvider
Protected Friend ReadOnly Property ServiceProvider As IServiceProvider

プロパティ値

IServiceProviderクラスのインターフェイス。

次の例では、接続リストの変更を確認し、ユーザーに変更を保存するように求めます。

protected override void OnFormClosing(FormClosingEventArgs e) {

    base.OnFormClosing(e);

    CloseReason reason = e.CloseReason;
    if (reason != CloseReason.UserClosing &&
        reason != CloseReason.ApplicationExitCall)
        return;

    IServiceProvider serviceProvider = this.ServiceProvider;

    if (serviceProvider == null)
        return;

    IConnectionManager connectionManager = (IConnectionManager)
        GetService(typeof(IConnectionManager));

    if ((connectionManager == null) ||
        (!connectionManager.IsDirty))   // nothing to save
        return;

    DialogResult result = ShowMessage(
        "The connection list has changed. Save changes?",
        MessageBoxButtons.YesNoCancel,  // button set
        MessageBoxIcon.Question,         // Icon
        MessageBoxDefaultButton.Button1); // Default btn

    if (result == DialogResult.Yes) {
        connectionManager.Save();
    } else if (result == DialogResult.Cancel) {
        e.Cancel = true;
    }

} 

適用対象