/// <summary>
        /// 表示項目の変更をされた
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void objLBItem_SelectedIndexChanged(object sender, EventArgs e)
        {
            int             idx     = objLBItem.SelectedIndex;
            DisplayItemItem strKind = (DisplayItemItem)objLBItem.Items[idx];

            m_correntDItem = m_currentPS.DisplayItems[strKind.Key];

            if (m_correntDItem.BackgroundColorState == DisplayItemColorState.Normal &&
                m_correntDItem.FrontColorState == DisplayItemColorState.Normal)
            {
                ColorCB_BackFrontEnabl(m_correntDItem.boldfaceValid);
            }
            else if (m_correntDItem.BackgroundColorState != DisplayItemColorState.Normal &&
                     m_correntDItem.FrontColorState == DisplayItemColorState.Normal)
            {
                ColorCB_FrontEnablOnly(m_correntDItem.boldfaceValid);
            }
            else if (m_correntDItem.BackgroundColorState == DisplayItemColorState.Normal &&
                     m_correntDItem.FrontColorState != DisplayItemColorState.Normal)
            {
                ColorCB_BackEnablOnly(m_correntDItem.boldfaceValid);
            }

            objCBFront.Refresh();
            objCBBackground.Refresh();
            objPBSampleText.Refresh();
        }
        /// <summary>
        /// 出力の表示コンボボックスの項目変更
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void objCBPrintSetting_SelectedIndexChanged(object sender, EventArgs e)
        {
            DisplayItemItem dii = (DisplayItemItem)objCBPrintSetting.SelectedItem;

            m_currentOptItem = m_outputItems[dii.Key];
            m_currentOptName = dii.Key;
            m_currentPS      = m_FontAndColor.PrintSettings[dii.Key];

            // リストの作り直し
            objLBItem.Items.Clear();
            foreach (var v in m_currentOptItem)
            {
                objLBItem.Items.Add(new DisplayItemItem(v.Key, v.Value));
            }

            // フォント名のセット
            bool isFind = false;
            int  idxMeiryoUI = 0, i = 0;

            foreach (string fnt in objCBFontKind.Items)
            {
                if (fnt == "Meiryo UI")
                {
                    idxMeiryoUI = i;
                }
                if (fnt == m_currentPS.FontName)
                {
                    isFind = true;
                    objCBFontKind.SelectedIndex = i;
                    break;
                }
                else if (fnt == "MS ゴシック")
                {
                    isFind = true;
                    objCBFontKind.SelectedIndex = i;
                    break;
                }

                ++i;
            }
            if (!isFind)
            {
                objCBFontKind.SelectedIndex = idxMeiryoUI;
            }
            // フォントサイズのセット
            objCBFontSize.Text = m_currentPS.FontSize + "";
            //
            objLBItem.SelectedIndex = 0;
        }
        /// <summary>
        /// サンプルテキストの表示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void objPBSampleText_Paint(object sender, PaintEventArgs e)
        {
            Brush bgTxtColor = Brushes.White;
            Brush frTxtColor = Brushes.Black;
            int   type       = 0;
            int   idx        = objLBItem.SelectedIndex;

            if (idx < 0)
            {
                return;
            }
            DisplayItemItem strKind   = (DisplayItemItem)objLBItem.Items[idx];
            string          sampleTxt = "ij = I::oO(0xB81l)";
            var             g         = e.Graphics;
            Rectangle       r         = objPBSampleText.ClientRectangle;

            r.Width  -= 1;
            r.Height -= 1;
            //----------------------
            // 枠の色
            //----------------------
            Pen pen = new Pen(Color.Gray, 1);

            switch (strKind.Key)
            {
            // 前景のみ
            case "CompileError":
            case "SyntaxError":
                type       = 1;
                frTxtColor = new SolidBrush(m_correntDItem.FrontColor);
                break;

            // 背景のみ
            case "SelectedText":
            case "TextNotSelectedActive":
            case "IndicatorMargin":
                bgTxtColor = new SolidBrush(m_correntDItem.BackgroundColor);
                break;

            default:
                type       = 0;
                bgTxtColor = new SolidBrush(m_correntDItem.BackgroundColor);
                frTxtColor = new SolidBrush(m_correntDItem.FrontColor);
                break;
            }

            //----------------------
            // 背景色
            //----------------------
            g.FillRectangle(bgTxtColor, objPBSampleText.ClientRectangle);
            g.DrawRectangle(pen, r);
            //----------------------
            // 文字
            //----------------------
            //Fontを作成
            Font fnt = new Font(m_currentPS.FontName, m_currentPS.FontSize);
            //StringFormatを作成
            StringFormat sf = new StringFormat();

            sf.LineAlignment = StringAlignment.Center;
            sf.Alignment     = StringAlignment.Center;
            r.X      = -100;
            r.Y      = 0;
            r.Width  = 431;
            r.Height = 54;
            //文字を書く
            switch (type)
            {
            case 0:
                g.DrawString(sampleTxt, fnt, frTxtColor, r, sf);
                break;

            case 1:
                UtilLine.DrawTextWaveLine(g, new Pen(frTxtColor, 1), sampleTxt, fnt, Brushes.Black, r, sf);
                break;

            case 2:
                UtilLine.DrawTextWaveLine(g, new Pen(frTxtColor, 1), sampleTxt, fnt, Brushes.Black, r, sf);
                break;
            }

            //g.MeasureString
            //リソースを解放する
            fnt.Dispose();
        }
        private void objLBItemAdd(string txt, string key)
        {
            DisplayItemItem item = new DisplayItemItem(txt, key);

            objLBItem.Items.Add(item);
        }