示例#1
0
        /// <summary>
        /// 入力ダイアログ
        /// </summary>
        /// <returns></returns>
        protected override bool DoInput()
        {
            bool   ret    = false;
            string msgfmt = CommonProc.MessageText("G003");

            msgfmt = msgfmt.Replace("%param", ParamName);
            msgfmt = msgfmt.Replace("%length", MaxLength.ToString());
            if (AllowJapanese)
            {
                IMEInputTextDialog tdlg = new IMEInputTextDialog();
                tdlg.InputText = frontend.Text;
                tdlg.Caption   = msgfmt;
                tdlg.MaxLength = MaxLength;
                if (tdlg.ShowDialog() == DialogResult.OK)
                {
                    frontend.Text = tdlg.InputText;
                    ret           = true;
                }
                tdlg.Dispose();
            }
            else
            {
                KeyboardDialog kdlg = new KeyboardDialog();
                kdlg.InputArea    = frontend.Text;
                kdlg.Message_Text = msgfmt;
                kdlg.DispMode     = 0; //テキスト
                if (kdlg.ShowDialog() == DialogResult.OK)
                {
                    frontend.Text = kdlg.InputArea;
                    ret           = true;
                }
                kdlg.Dispose();
            }
            return(ret);
        }
示例#2
0
        /// <summary>
        /// マウスクリックイベントオーバーライド
        /// </summary>
        protected override bool InputValue()
        {
            bool           res  = false;
            KeyboardDialog kdlg = new KeyboardDialog();

            kdlg.ValLower = MinValue;
            kdlg.ValUpper = MaxValue;
            kdlg.DispMode = KeyboardDialog.KB_MODE.NUMBER;
            string strrange = MaxValue.ToString(strForm);
            int    digits   = strrange.IndexOf('.');

            kdlg.LengthInt = (digits < 0) ? strrange.Length : digits;
            kdlg.LengthDec = (digits < 0) ? 0 : (strrange.Length - digits - 1);
            kdlg.AllLength = strrange.Length;
            string msgfmt = CommonProc.MessageText("G001");

            msgfmt            = msgfmt.Replace("%param", paramName);
            msgfmt            = msgfmt.Replace("%min", MinValue.ToString(strForm));
            msgfmt            = msgfmt.Replace("%max", MaxValue.ToString(strForm));
            kdlg.Message_Text = msgfmt;
            kdlg.InputArea    = Text;
            if (kdlg.ShowDialog() == DialogResult.OK)
            {
                Value = double.Parse(kdlg.InputArea);
                res   = true;
            }
            kdlg.Dispose();
            Invalidate();
            return(res);
        }
示例#3
0
        /// <summary>
        /// マウスクリックイベントオーバーライド
        /// </summary>
        protected override bool InputValue()
        {
            bool res = false;

            if (!readOnly)
            {
                CustomDialog.KeyboardDialog kdlg = new CustomDialog.KeyboardDialog();
                kdlg.DispMode       = dateOnly ? KeyboardDialog.KB_MODE.DATEONLY : KeyboardDialog.KB_MODE.DATE;
                kdlg.TimeResolution = nosec ? 1 : 0;
                kdlg.TimeMin        = RangeMin;
                kdlg.TimeMax        = RangeMax;
                string msgfmt = CommonProc.MessageText(dateOnly ? "G006" : (nosec ? "G011" : "G002"));
                msgfmt            = msgfmt.Replace("%param", paramName);
                kdlg.Message_Text = msgfmt;
                if (allowNone && Text == "")
                {
                    kdlg.InputArea = "";
                }
                else
                {
                    kdlg.InputArea = internalDateTime.ToString(dateOnly ? "yyyyMMdd" : (nosec ? "yyyyMMddHHmm" : "yyyyMMddHHmmss"));
                }
                kdlg.AllowNone = allowNone;
                if (kdlg.ShowDialog() == DialogResult.OK)
                {
                    if (allowNone && kdlg.InputArea == "")
                    {
                        Text             = "";
                        valueIsNone      = true;
                        internalDateTime = DateTime.MinValue;
                    }
                    else
                    {
                        Text             = dateOnly ? CommonProc.DateString(kdlg.InputArea) : CommonProc.DatetimeString(kdlg.InputArea);
                        internalDateTime = DateTime.Parse(Text);
                        valueIsNone      = false;
                    }
                    res = true;
                }
                kdlg.Dispose();
            }
            return(res);
        }
示例#4
0
        /// <summary>
        /// マウスクリックイベントオーバーライド
        /// </summary>
        protected override bool InputValue()
        {
            bool res = false;

            if (!readOnly)
            {
                CustomDialog.KeyboardDialog kdlg = new CustomDialog.KeyboardDialog();
                kdlg.DispMode = KeyboardDialog.KB_MODE.TIME;
                string msgfmt = CommonProc.MessageText(nosec ? "G009" : "G008");
                msgfmt            = msgfmt.Replace("%param", paramName);
                kdlg.Message_Text = msgfmt;
                if (allowNone && Text == "")
                {
                    kdlg.InputArea = "";
                }
                else
                {
                    kdlg.InputArea = internalTimeSpan.ToString(nosec ? "HHmm" : "HHmmss");
                }
                kdlg.AllowNone = allowNone;
                if (kdlg.ShowDialog() == DialogResult.OK)
                {
                    if (allowNone && kdlg.InputArea == "")
                    {
                        Text             = "";
                        valueIsNone      = true;
                        internalTimeSpan = TimeSpan.MinValue;
                    }
                    else
                    {
                        Text             = CommonProc.DatetimeString(kdlg.InputArea);
                        internalTimeSpan = TimeSpan.Parse(Text);
                        valueIsNone      = false;
                    }
                    res = true;
                }
                kdlg.Dispose();
            }
            return(res);
        }
示例#5
0
        /// <summary>
        /// マウスクリックイベントオーバーライド
        /// </summary>
        protected override bool InputValue()
        {
            bool res = false;

            if (!readOnly)
            {
                CustomDialog.InputExponentialDialog edlg = new CustomDialog.InputExponentialDialog();
                edlg.MinExponent  = MinExponent;
                edlg.MaxExponent  = MaxExponent;
                edlg.MinMantissa  = MinMantissa;
                edlg.MaxMantissa  = MaxMantissa;
                edlg.Exponent     = exponent;
                edlg.Mantissa     = mantissa;
                edlg.MinValue     = MinValue;
                edlg.MaxValue     = MaxValue;
                edlg.Significants = Significants;
                edlg.AllowNone    = allowNaN;
                string msgfmt = CommonProc.MessageText("G001");
                msgfmt       = msgfmt.Replace("%param", paramName);
                msgfmt       = msgfmt.Replace("%min", MinValue.ToString(strForm));
                msgfmt       = msgfmt.Replace("%max", MaxValue.ToString(strForm));
                edlg.Caption = msgfmt;
                if (edlg.ShowDialog() == DialogResult.OK)
                {
                    if (edlg.ValueIsNone)
                    {
                        Exponent = 0;
                        Mantissa = double.NaN;
                    }
                    else
                    {
                        Exponent = edlg.Exponent;
                        Mantissa = edlg.Mantissa;
                    }
                    res = true;
                }
                edlg.Dispose();
            }
            return(res);
        }
示例#6
0
        /// <summary>
        /// マウスクリックイベントオーバーライド
        /// </summary>
        protected override bool InputValue()
        {
            bool res = false;

            if (!readOnly)
            {
                string msgfmt = CommonProc.MessageText("G003");
                msgfmt = msgfmt.Replace("%param", paramName);
                msgfmt = msgfmt.Replace("%length", MaxLength.ToString());
                if (AllowJapanese)
                {
                    CustomDialog.IMEInputTextDialog tdlg = new CustomDialog.IMEInputTextDialog();
                    tdlg.InputText = Text;
                    tdlg.Caption   = msgfmt;
                    tdlg.MaxLength = MaxLength;
                    if (tdlg.ShowDialog() == DialogResult.OK)
                    {
                        Text = tdlg.InputText;
                        res  = true;
                    }
                    tdlg.Dispose();
                }
                else
                {
                    CustomDialog.KeyboardDialog kdlg = new CustomDialog.KeyboardDialog();
                    kdlg.InputArea    = Text;
                    kdlg.Message_Text = msgfmt;
                    kdlg.DispMode     = 0; //テキスト
                    kdlg.AllLength    = MaxLength;
                    if (kdlg.ShowDialog() == DialogResult.OK)
                    {
                        Text = kdlg.InputArea;
                        res  = true;
                    }
                    kdlg.Dispose();
                }
            }
            return(res);
        }
示例#7
0
        private void buttonText_Click(object sender, EventArgs e)
        {
            CustomDialog.KeyboardDialog kdlg = new CustomDialog.KeyboardDialog();
            kdlg.ValLower = RangeMin;
            kdlg.ValUpper = RangeMax;
            kdlg.DispMode = KeyboardDialog.KB_MODE.NUMBER;  //数値
            string strrange = RangeMax.ToString(StringForm);
            int    digits   = strrange.IndexOf('.');

            kdlg.LengthInt = (digits < 0) ? strrange.Length : digits;
            kdlg.LengthDec = (digits < 0) ? 0 : (strrange.Length - digits - 1);
            kdlg.AllLength = Math.Max(strrange.Length, RangeMin.ToString(StringForm).Length);
            string msgfmt = CommonProc.MessageText("G001");

            msgfmt            = msgfmt.Replace("%param", paramName);
            msgfmt            = msgfmt.Replace("%min", RangeMin.ToString(StringForm));
            msgfmt            = msgfmt.Replace("%max", RangeMax.ToString(StringForm));
            kdlg.Message_Text = msgfmt;
            kdlg.InputArea    = _buttonText.Text;
            kdlg.AllowNone    = allowNone;
            if (kdlg.ShowDialog() == DialogResult.OK)
            {
                if (allowNone && kdlg.InputArea == "")
                {
                    Value = double.NaN;
                }
                else
                {
                    Value = double.Parse(kdlg.InputArea);
                }
                if (ValueChanged != null)
                {
                    ValueChanged(sender, e);
                }
            }
            kdlg.Dispose();
            Invalidate();
        }
示例#8
0
        /// <summary>
        /// マウスクリックイベントオーバーライド
        /// </summary>
        protected override bool InputValue()
        {
            bool res = false;

            if (!readOnly)
            {
                CustomDialog.KeyboardDialog kdlg = new CustomDialog.KeyboardDialog();
                kdlg.InputArea = Value;
                string msgfmt = CommonProc.MessageText("G007");
                msgfmt            = msgfmt.Replace("%param", paramName);
                msgfmt            = msgfmt.Replace("%length", MaxLength.ToString());
                kdlg.Message_Text = msgfmt;
                kdlg.DispMode     = KeyboardDialog.KB_MODE.MASK; //パスワード
                kdlg.AllLength    = MaxLength;
                if (kdlg.ShowDialog() == DialogResult.OK)
                {
                    Value = kdlg.InputArea;
                    res   = true;
                }
                kdlg.Dispose();
            }
            return(res);
        }
示例#9
0
        /// <summary>
        /// マウスクリックイベントオーバーライド
        /// </summary>
        protected override bool InputValue()
        {
            bool res = false;

            if (!ReadOnly)
            {
                if (Items.Length == 2)
                {//トグルモード
                    Text = Items[(ItemIndex + 1) & 1];
                    res  = true;
                }
                else
                {
                    CustomDialog.SelectItemDialog sdlg = null;
                    if (Items.Length <= 3)
                    {
                        sdlg = new CustomDialog.SelectItem3Dialog();
                    }
                    else if (3 < Items.Length && Items.Length <= 5)
                    {//4~5項目
                        int maxlen = 0;
                        foreach (string item in Items)
                        {
                            maxlen = Math.Max(maxlen, item.Length);
                        }
                        if (Items.Length == 4 && maxlen < 5)
                        {
                            sdlg = new CustomDialog.SelectItem4Dialog();
                        }
                        else
                        {
                            sdlg = new CustomDialog.SelectItem5Dialog();
                        }
                    }
                    else if (Items.Length <= 10)
                    {//6~10項目
                        sdlg = new CustomDialog.SelectItem10Dialog();
                    }
                    if (sdlg != null)
                    {
                        sdlg.Items = Items;
                        sdlg.Select(Text);
                        string msgfmt = CommonProc.MessageText("G005");
                        msgfmt       = msgfmt.Replace("%param", paramName);
                        sdlg.Caption = msgfmt;
                        if (ItemValids != null)
                        {
                            for (int i = 0; i < ItemValids.Length; i++)
                            {
                                sdlg.ButtonEnable(i, ItemValids[i]);
                            }
                        }
                        if (sdlg.ShowDialog() == DialogResult.OK)
                        {
                            Text = sdlg.SelectedText;
                            res  = true;
                        }
                        sdlg.Dispose();
                    }
                }
            }
            return(res);
        }