예제 #1
0
        private void pctxtEdits_TextChanged(object sender, EventArgs e)
        {
            if (!this.PctxtEdits_autoInput)
            {
                TextBox pctxt = (TextBox)sender;
                ListBox pclst = this.pclstNums;

                if (0 <= pclst.SelectedIndex)
                {
                    int selectedIndex = pclst.SelectedIndex;//値を退避

                    Memory4bSpritePartsnumberImpl numSp = (Memory4bSpritePartsnumberImpl)pclst.Items[selectedIndex];
                    this.Owner_MemoryApplication.SetText_SpritePartsnumber(numSp, pctxt.Text, this.Owner_MemoryApplication);
                    this.Owner_MemoryApplication.Delegate_OnChanged_SomeContents();

                    this.PclstNums_autoInput = true;//自動入力開始
                    pclst.Items.RemoveAt(selectedIndex);
                    pclst.Items.Insert(selectedIndex, numSp);
                    pclst.SelectedIndex      = selectedIndex;
                    this.PclstNums_autoInput = false;//自動入力終了

                    this.Refresh();
                }
            }
        }
예제 #2
0
        //────────────────────────────────────────

        /// <summary>
        /// [新規追加]
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ccbtnAdds_Click(object sender, EventArgs e)
        {
            ListBox pclst = this.pclstNums;

            Memory4bSpritePartsnumber mNum = new Memory4bSpritePartsnumberImpl(this.Owner_MemoryApplication.Count_Creates.ToString());

            mNum.Delegate_OnChangeSprite_Partsnumber = UsercontrolCanvas_OnChangeSpritePartsnumber;

            this.Owner_MemoryApplication.Count_Creates++;

            mNum.LocationOnBackgroundActual = new PointF(
                this.Width / 2 - this.Owner_MemoryApplication.BgLocationScaled.X,
                this.Height / 2 - this.Owner_MemoryApplication.BgLocationScaled.Y
                );
            mNum.Number_Layer = this.Owner_MemoryApplication.SelectedLayer;

            this.AddNumSp(mNum, false);

            this.After_AddSpriteList();

            // 選択項目を編集ボックスに表示
            this.proc001();

            // フォームを再描画。
            this.Refresh();
        }
예제 #3
0
        //────────────────────────────────────────
        #endregion



        #region アクション
        //────────────────────────────────────────

        public void Perform()
        {
            Log_Method  log_Method             = new Log_MethodImpl(0);
            Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(log_Method);

            log_Method.BeginMethod(Info_PartsnumPut.Name_Library, this, "Perform", log_Reports_ThisMethod);

            this.In_UsercontrolCanvas.ClearNumSps(true);
            log_Method.WriteDebug_ToConsole("Performを実行しました。");


            //
            // テーブル読取
            //
            //Dictionary<string, int> dictionary_NameField = new Dictionary<string, int>();

            //欲しい列が何番目にあるかを調べます。
            int row = 0;
            // 「NO」、「DISPLAY」、「LAYER」「X」「Y」「FONT_SIZE」「COLOR_BG」(「END」)の8フィールドがある。
            int indexColumn_Display    = -1;
            int indexColumn_Text       = -1;
            int indexColumn_Layer      = -1;
            int indexColumn_X          = -1;
            int indexColumn_XLt        = -1;
            int indexColumn_Y          = -1;
            int indexColumn_YLt        = -1;
            int indexColumn_FontSize   = -1;
            int indexColumn_FontSizePt = -1;
            int indexColumn_ColorBg    = -1;
            int indexColumn_BackColor  = -1;

            //this.in_Table_Humaninput.RecordFielddefinition.ForEach(delegate(Fielddefinition fielddefinition, ref bool isBreak2, Log_Reports log_Reports2)
            //{
            //},log_Reports_ThisMethod);

            // 列のindex。該当がなければ-1。
            indexColumn_Display    = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("DISPLAY");
            indexColumn_Text       = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("TEXT");
            indexColumn_Layer      = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("LAYER");
            indexColumn_X          = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("X");
            indexColumn_XLt        = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("X_LT");
            indexColumn_Y          = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("Y");
            indexColumn_YLt        = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("Y_LT");
            indexColumn_FontSize   = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("FONT_SIZE");
            indexColumn_FontSizePt = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("FONT_SIZE_PT");
            indexColumn_ColorBg    = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("COLOR_BG");
            indexColumn_BackColor  = this.in_Table_Humaninput.RecordFielddefinition.ColumnIndexOf_Trimupper("BACK_COLOR");

            this.in_Table_Humaninput.ForEach_Datapart(delegate(Record_Humaninput recordH, ref bool isBreak1, Log_Reports log_Reports1)
            {
                //log_Method.WriteDebug_ToConsole("row=[" + row + "] recordH.ToString_DebugDump()=[" + recordH.ToString_DebugDump() + "]");

                //if (row == 0)
                //{
                //    // 上1行は「列名」。

                //    //log_Method.WriteDebug_ToConsole("indexColumn_BackColor=[" + indexColumn_BackColor + "] recordH.ToString_DebugDump()=[" + recordH.ToString_DebugDump()+ "]");

                //    goto gt_LastLoop;
                //}
                //else if (row < 3)
                //{
                //    // 上3行(row=0,1,2)は「列名」「型」「解説」として無視。
                //    goto gt_LastLoop;
                //}

                // 左端に EOF が入っていれば終了。
                if ("EOF" == recordH.ValueAt(0).Text.Trim())
                {
                    isBreak1 = true;
                    goto gt_LastLoop;
                }

                Memory4bSpritePartsnumberImpl memSpriteNum       = new Memory4bSpritePartsnumberImpl();
                memSpriteNum.Delegate_OnChangeSprite_Partsnumber = this.In_UsercontrolCanvas.UsercontrolCanvas_OnChangeSpritePartsnumber;

                //表示テキスト
                {
                    if (0 <= indexColumn_Text)
                    {
                        memSpriteNum.Text = recordH.ValueAt(indexColumn_Text).Text;
                    }
                    else if (0 <= indexColumn_Display)
                    {
                        //旧仕様
                        memSpriteNum.Text = recordH.ValueAt(indexColumn_Display).Text;
                    }
                }

                //レイヤー
                if (0 <= indexColumn_Layer)
                {
                    int nLayer = 0;
                    int.TryParse(recordH.ValueAt(indexColumn_Layer).Text, out nLayer);
                    memSpriteNum.Number_Layer = nLayer;
                }

                //座標
                {
                    //左辺x
                    int x = 0;
                    {
                        if (0 <= indexColumn_XLt)
                        {
                            int.TryParse(recordH.ValueAt(indexColumn_XLt).Text, out x);
                        }
                        else if (0 <= indexColumn_X)
                        {
                            int.TryParse(recordH.ValueAt(indexColumn_X).Text, out x);
                        }
                    }

                    //上辺y
                    int y = 0;
                    {
                        if (0 <= indexColumn_YLt)
                        {
                            int.TryParse(recordH.ValueAt(indexColumn_YLt).Text, out y);
                        }
                        else if (0 <= indexColumn_Y)
                        {
                            int.TryParse(recordH.ValueAt(indexColumn_Y).Text, out y);
                        }
                    }

                    memSpriteNum.LocationOnBackgroundActual = new PointF(x, y);
                }


                //フォントサイズ(1以上の数字なら有効)
                {
                    int fontsize = -1;
                    if (0 <= indexColumn_FontSizePt)
                    {
                        if (int.TryParse(recordH.ValueAt(indexColumn_FontSizePt).Text, out fontsize))
                        {
                            fontsize = -1;
                        }
                    }
                    else if (0 <= indexColumn_FontSize)
                    {
                        //旧仕様
                        if (int.TryParse(recordH.ValueAt(indexColumn_FontSize).Text, out fontsize))
                        {
                            fontsize = -1;
                        }
                    }

                    if (1 <= fontsize)
                    {
                        memSpriteNum.Font = new System.Drawing.Font("MS ゴシック", (float)fontsize);
                    }
                }

                //背景色
                {
                    string name_Color = "";
                    if (0 <= indexColumn_BackColor)
                    {
                        name_Color = recordH.ValueAt(indexColumn_BackColor).Text;
                    }
                    else if (0 <= indexColumn_ColorBg)
                    {
                        //旧仕様
                        name_Color = recordH.ValueAt(indexColumn_ColorBg).Text;
                    }

                    switch (name_Color)
                    {
                    case "Green":
                        memSpriteNum.BrushBackground = Brushes.Green;
                        break;

                    default:
                        memSpriteNum.BrushBackground = Brushes.Blue;
                        break;
                    }
                }

                this.In_UsercontrolCanvas.AddNumSp(memSpriteNum, true);

                //
                gt_LastLoop://continueを使わない。

                row++;
            }, log_Reports_ThisMethod);

            this.In_UsercontrolCanvas.After_AddSpriteList();

            // フォームを再描画。
            this.In_UsercontrolCanvas.Refresh();

            //
            goto gt_EndMethod;
            //
gt_EndMethod:
            log_Method.EndMethod(log_Reports_ThisMethod);
            return;
        }