/// <summary>
        /// Handle F1 to F12 Click
        /// </summary>
        /// <param name="index"> button index+1, eg.if index is 0,it means F1 click </param>
        public override void FunctionProcess(int index)
        {
            CKM_SearchControl sc = new CKM_SearchControl();

            mtbbl = new MasterTouroku_GinkouKouza_BL();
            switch (index + 1)
            {
            case 2:
                ChangeMode(EOperationMode.INSERT);
                break;

            case 3:
                ChangeMode(EOperationMode.UPDATE);
                break;

            case 4:
                ChangeMode(EOperationMode.DELETE);
                break;

            case 5:
                ChangeMode(EOperationMode.SHOW);
                break;

            case 6:
                if (bbl.ShowMessage("Q004") == DialogResult.Yes)
                {
                    ChangeMode(OperationMode);
                    ScKouzaCD.SetFocus(1);
                }
                else
                {
                    PreviousCtrl.Focus();
                }


                break;

            case 11:
                F11();
                break;

            case 12:
                F12();
                break;
            }
        }
        private bool ErrorCheck(int index)
        {
            mtbbl = new MasterTouroku_GinkouKouza_BL();
            if (index == 11)
            {
                //HeaderCheck on F11
                if (OperationMode == EOperationMode.INSERT)
                {
                    if (type == 1)
                    {
                        if (!RequireCheck(new Control[] { ScKouzaCD.TxtCode, ScKouzaCD.TxtChangeDate }))   //,ScCopyKouzaCD.TxtCode,ScCopyKouzaCD.TxtChangeDate
                        {
                            return(false);
                        }
                    }


                    else
                    {
                        if (!RequireCheck(new Control[] { ScKouzaCD.TxtCode, ScKouzaCD.TxtChangeDate }))
                        {
                            return(false);
                        }
                        if (!RequireCheck(new Control[] { ScCopyKouzaCD.TxtCode }, ScCopyKouzaCD.TxtChangeDate))
                        {
                            return(false);
                        }

                        if (!RequireCheck(new Control[] { ScCopyKouzaCD.TxtChangeDate }, ScCopyKouzaCD.TxtCode))
                        {
                            return(false);
                        }

                        if (ScKouzaCD.IsExists(1))
                        {
                            mtbbl.ShowMessage("E132");
                            ScKouzaCD.SetFocus(1);
                            return(false);
                        }

                        if (!string.IsNullOrWhiteSpace(ScCopyKouzaCD.TxtCode.Text) && !string.IsNullOrWhiteSpace(ScCopyKouzaCD.TxtChangeDate.Text))
                        {
                            if (!ScCopyKouzaCD.IsExists(1))
                            {
                                mtbbl.ShowMessage("E133");
                                ScCopyKouzaCD.SetFocus(1);
                                return(false);
                            }
                        }
                    }
                }
                else
                {
                    if (!ScKouzaCD.IsExists(1))
                    {
                        mtbbl.ShowMessage("E133");
                        ScKouzaCD.SetFocus(1);
                        return(false);
                    }
                }
            }
            else if (index == 12)
            {
                if (!RequireCheck(new Control[] { ScKouzaCD.TxtCode, ScKouzaCD.TxtChangeDate }))
                {
                    return(false);
                }
                if (OperationMode == EOperationMode.INSERT)
                {
                    if (ScKouzaCD.IsExists(1))
                    {
                        mtbbl.ShowMessage("E132");
                        ScKouzaCD.SetFocus(1);
                        return(false);
                    }
                }

                if (!RequireCheck(new Control[] { txtKouzaName }))
                {
                    return(false);
                }
                if (!RequireCheck(new Control[] { ScBankCD.TxtCode }))
                {
                    return(false);
                }
                if (!ScBankCD.IsExists(2))
                {
                    mtbbl.ShowMessage("E101");
                    ScBankCD.SetFocus(1);
                    return(false);
                }

                if (!RequireCheck(new Control[] { ScBranchCD.TxtCode }))
                {
                    return(false);
                }
                if (!ScBranchCD.IsExists(2))
                {
                    mtbbl.ShowMessage("E101");
                    ScBranchCD.SetFocus(1);
                    return(false);
                }

                if (!RequireCheck(new Control[] { txtKouzaKBN }))
                {
                    return(false);
                }

                if (txtKouzaKBN.Text != "1" && txtKouzaKBN.Text != "2")
                {
                    mtbbl.ShowMessage("E101");
                    ScBankCD.SetFocus(1);
                    return(false);
                }

                if (!RequireCheck(new Control[] { txtKouzaNO, txtKouzaMeigi }))
                {
                    return(false);
                }
                if (!RequireCheck(new Control[] { txtCompanyName }, txtCompanyCD))
                {
                    return(false);
                }
                if (!RequireCheck(new Control[] { txtTax11 }, txtFee11))
                {
                    return(false);
                }
                if (!ReverseRequireCheck(new Control[] { txtFee12 }, txtAmount1))
                {
                    return(false);
                }
                if (!RequireCheck(new Control[] { txtTax12 }, txtFee12))
                {
                    return(false);
                }
                if (!RequireCheck(new Control[] { txtTax21 }, txtFee21))
                {
                    return(false);
                }
                if (!RequireCheck(new Control[] { txtFee22 }, txtAmount2))
                {
                    return(false);
                }
                if (!RequireCheck(new Control[] { txtTax22 }, txtFee22))
                {
                    return(false);
                }
                if (!RequireCheck(new Control[] { txtTax31 }, txtFee31))
                {
                    return(false);
                }
                if (!RequireCheck(new Control[] { txtFee32 }, txtAmount3))
                {
                    return(false);
                }
                if (!RequireCheck(new Control[] { txtTax32 }, txtFee32))
                {
                    return(false);
                }
            }
            return(true);
        }