TextInputDialog.h

#pragma once


namespace Core
{
    /// <summary>
    /// テキスト入力ダイアログ
    /// </summary>
    public ref class TextInputDialog : public System::Windows::Forms::Form
    {
    // Construction --------------------------------------------------------
    public:
        TextInputDialog( System::String^ title );

    protected:
        ~TextInputDialog();


    // Operation -----------------------------------------------------------
    public:
        void ProhibitEmptyText();

    protected:
        virtual void OnShown( System::EventArgs^ e ) override;

    private:
        void InitializeComponent( void );
        void MoveFormToMousePointer();


    // Event Handler -------------------------------------------------------
    private:
        System::Void TextBoxTextChanged(System::Object^ sender, System::EventArgs^ e);


    // Attribute ===========================================================

    public:
        property System::String^ Value
        {
            System::String^ get()
            {
                return m_textBox->Text;
            }
            void set( System::String^ value )
            {
                m_textBox->Text = value;
            }
        }


        //
        // 以降は デザイナによって自動生成されたコード
        //


    private: System::Windows::Forms::Button^ m_okButton;
    private: System::Windows::Forms::Button^ m_cancelButton;
    private: System::Windows::Forms::TextBox^ m_textBox;
    private: System::ComponentModel::Container ^components;

    };
}