예제 #1
0
        //────────────────────────────────────────

        private void UsercontrolTextbox_MouseEnter(object sender, EventArgs e)
        {
            // マウスが領域に入ってきたら、
            // テキストボックスを可視化。
            UsercontrolTextbox uctTxt = (UsercontrolTextbox)sender;

            if (!uctTxt.customcontrolTextbox1.ReadOnly)
            {
                // 読取専門でなければ可視化。
                uctTxt.customcontrolTextbox1.Visible = true;
            }

            //// テキストボックス左上の画面位置
            //Point p0 = new Point(0, 0);
            //Point p1 = uctTxt.PointToScreen(p0);//プラス値が返ってくる。
            //Point p2 = this.ControlCommon.MoControlMediator.Form.PointToClient(p0);//マイナス値が返ってくる。
            //// p1+p2で、クライアント領域上での位置になる。
            ////ystem.Console.WriteLine("p1=[" + p1.X + "," + p1.Y + "] p2=[" + p2.X + "," + p2.Y + "]");
            //mrTextbox.Bounds = new Rectangle(
            //    p1.X+p2.X,
            //    p1.Y+p2.Y,
            //    uctTxt.CcTextbox.Bounds.Width,
            //    uctTxt.CcTextbox.Bounds.Height
            //    );
        }
예제 #2
0
        //────────────────────────────────────────

        private void UsercontrolTextbox_Leave(object sender, EventArgs e)
        {
            // テキストボックスがフォーカスを失ったら、
            // テキストボックスを不可視化。
            UsercontrolTextbox ucTxt = (UsercontrolTextbox)sender;

            ucTxt.customcontrolTextbox1.Visible = false;
        }
예제 #3
0
        //────────────────────────────────────────
        #endregion



        #region イベントハンドラー
        //────────────────────────────────────────

        private void UsercontrolTextbox_SizeChanged(object sender, EventArgs e)
        {
            UsercontrolTextbox uctTxt = (UsercontrolTextbox)sender;

            this.customcontrolTextbox1.Width  = uctTxt.Width;
            this.customcontrolTextbox1.Height = uctTxt.Height;

            //
            // 縦幅を固定して、サイズ変更時も大きさを伸ばさないようにしたい場合は
            // この記述を有効にしてください。
            //
            // ucWindow.Height = this.ccWindow.Height;
        }
예제 #4
0
        //────────────────────────────────────────
        public Usercontrol Perform(
            Expression_Node_StringImpl ec_FcName,
            MemoryApplication owner_MemoryApplication
            )
        {
            //
            // ▲▲▲ ※暫定で テキストボックス
            //
            UsercontrolTextbox uctTxt = new UsercontrolTextbox();

            // 名前だけ初期設定
            uctTxt.Expression_Name_Control = ec_FcName;
            uctTxt.ControlCommon.Owner_MemoryApplication = owner_MemoryApplication;

            return uctTxt;
        }
예제 #5
0
        //────────────────────────────────────────
        public Usercontrol Perform(
            Expression_Node_StringImpl ec_FcName,
            MemoryApplication owner_MemoryApplication
            )
        {
            //
            // 既に起動されているウィンドウに、パネルを埋め込む指定です。
            //

            UsercontrolTextbox uctTxt = new UsercontrolTextbox();

            // 名前だけ初期設定
            uctTxt.Expression_Name_Control = ec_FcName;
            uctTxt.ControlCommon.Owner_MemoryApplication = owner_MemoryApplication;

            return uctTxt;
        }
예제 #6
0
        //────────────────────────────────────────
        public Usercontrol Perform(
            Expression_Node_StringImpl ec_FcName,
            MemoryApplication owner_MemoryApplication
            )
        {
            UsercontrolTextbox uctTxt = new UsercontrolTextbox();

            // 名前だけ初期設定
            uctTxt.Expression_Name_Control = ec_FcName;
            uctTxt.ControlCommon.Owner_MemoryApplication = owner_MemoryApplication;

            //
            // 複数行入力のテキストボックスに設定することで、
            // テキストエリアになります。
            //
            uctTxt.Multiline = true;
            uctTxt.UsercontrolScrollbars = ScrollBars.Both;

            return uctTxt;
        }
예제 #7
0
        //────────────────────────────────────────

        /// <summary>
        /// テキストボックスの絵を描画。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void UsercontrolTextbox_Paint(object sender, PaintEventArgs e)
        {
            UsercontrolTextbox uctTxt = (UsercontrolTextbox)sender;

            if (!uctTxt.customcontrolTextbox1.Visible)
            {
                // 不可視のときに描画。

                // 自分の内側に線を引ければよい。
                Rectangle rect = new Rectangle(
                    0,
                    0,
                    uctTxt.Width - 1,
                    uctTxt.Height - 1
                    );
                if (uctTxt.customcontrolTextbox1.ReadOnly)
                {
                    // 編集不可能。
                    e.Graphics.FillRectangle(Brushes.LightGray, rect);
                }
                else
                {
                    // 編集可能。
                    e.Graphics.FillRectangle(Brushes.White, rect);
                }

                // 枠線
                e.Graphics.DrawRectangle(
                    Pens.Black, rect
                    );

                // テキスト表示領域は、四角の線から1ドット離すように小さくします。
                rect.Inflate(-2, -2);
                rect.Offset(-1, +1);
                e.Graphics.DrawString(this.customcontrolTextbox1.Text, this.customcontrolTextbox1.Font, Brushes.Black, rect);
            }
        }
예제 #8
0
 //────────────────────────────────────────
 /// <summary>
 /// 項目の置換
 /// 
 /// 現在選択されているアイテムを、テキストボックスに入力されているテキストに置換します。
 /// 置換に成功した場合、テキストボックスは空になります。
 /// </summary>
 /// <param name="textBox"></param>
 /// <returns>追加が成功していれば真、失敗していれば偽。</returns>
 public List<ReplacesResultImpl> ReplaceItemFromTextbox(UsercontrolTextbox uctTxt)
 {
     return this.ReplaceItemFromTextbox(new TextboxWrapperImpl(uctTxt));
 }
예제 #9
0
 //────────────────────────────────────────
 /// <summary>
 /// 項目の追加
 /// 
 /// テキストボックスに入力されているテキストを、リストの項目として追加します。
 /// 追加に成功した場合、テキストボックスは空になります。
 /// </summary>
 /// <param name="textBox"></param>
 /// <returns>追加が成功していれば真、失敗していれば偽。</returns>
 public bool AddItemFromTextbox(UsercontrolTextbox uctTxt)
 {
     return this.AddItemFromTextbox(new TextboxWrapperImpl(uctTxt));
 }
예제 #10
0
 public TextboxWrapperImpl(UsercontrolTextbox uctTxt)
 {
     this.usercontrolTextbox2 = uctTxt;
 }