サーチ…


前書き

最初に、MessageBoxが何であるかを知る必要があります...

MessageBoxコントロールは、指定されたテキストのメッセージを表示し、カスタムイメージ、タイトル、およびボタンセット(これらのボタンセットは、ユーザーが基本的なyes / no回答以上のものを選択できます)を指定することによってカスタマイズできます。

独自のMessageBoxを作成することで、生成されたDLLを使用するか、クラスを含むファイルをコピーするだけで、新しいアプリケーションでMessageBoxコントロールを再利用できます。

構文

  • '静的DialogResult result = DialogResult.No; // DialogResultは、解任後にダイアログによって返されます。

独自のMessageBoxコントロールの作成。

独自のMessageBoxコントロールを作成するには、以下のガイドに従ってください。

  1. Visual Studioのインスタンスを開く(VS 2008/2010/2012/2015/2017)

  2. 上部のツールバーに移動して、「ファイル」 - >「新規プロジェクト」 - >「Windows Formsアプリケーション」 - >プロジェクト名を入力し、「OK」をクリックします。

  3. ロードされたら、ツールボックス(左の図を参照)からフォーム上にボタンコントロールをドラッグアンドドロップします(下図参照)。

ここに画像の説明を入力

  1. ボタンをダブルクリックすると、統合開発環境によって自動的にクリックイベントハンドラが生成されます。

  2. フォームのコードを編集して、次のようにします(フォームを右クリックして[コードの編集]をクリックします)。

namespace MsgBoxExample {
    public partial class MsgBoxExampleForm : Form {
        //Constructor, called when the class is initialised.
        public MsgBoxExampleForm() {
            InitializeComponent();
        }

        //Called whenever the button is clicked.
        private void btnShowMessageBox_Click(object sender, EventArgs e) {
           CustomMsgBox.Show($"I'm a {nameof(CustomMsgBox)}!", "MSG", "OK");
        }
    }
}
  1. ソリューションエクスプローラ - >プロジェクトを右クリック - >追加 - > Windowsフォームを選択し、名前を "CustomMsgBox.cs"に設定します。

  2. ボタン&ラベルコントロールをツールボックスからフォームにドラッグします(フォームを作成した後は、以下のようになります)。

ここに画像の説明を入力

  1. 新しく作成したフォームに以下のコードを書いてください。
private DialogResult result = DialogResult.No;
public static DialogResult Show(string text, string caption, string btnOkText) {
    var msgBox = new CustomMsgBox();
    msgBox.lblText.Text = text; //The text for the label...
    msgBox.Text = caption; //Title of form
    msgBox.btnOk.Text = btnOkText; //Text on the button
    //This method is blocking, and will only return once the user
    //clicks ok or closes the form.
    msgBox.ShowDialog(); 
    return result;
}

private void btnOk_Click(object sender, EventArgs e) {
    result = DialogResult.Yes;
    MsgBox.Close();
}
  1. F5キーを押すだけでプログラムを実行できます。おめでとう、あなたは再利用可能なコントロールを作りました。

独自の作成したMessageBoxコントロールを別のWindowsフォームアプリケーションで使用する方法

既存の.csファイルを見つけるには、Visual Studioのインスタンスでプロジェクトを右クリックし、ファイルエクスプローラでフォルダを開くをクリックします。

  1. Visual Studio - >現在のプロジェクト(Windowsフォーム) - >ソリューションエクスプローラ - >プロジェクト名 - >右クリック - >追加 - >既存アイテム - >既存の.csファイルを探します。

  2. 今度は、コントロールを使用するために最後に行うことがあります。コードにusingステートメントを追加して、アセンブリがその依存関係を認識できるようにします。

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    .
    .
    .
    using CustomMsgBox; //Here's the using statement for our dependency.
    
  3. メッセージボックスを表示するには、以下を使用してください...

    CustomMsgBox.Show( "メッセージボックスのメッセージ..."、 "MSG"、 "OK");



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow