Example #1
0
        private void ProcedureTable_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            CurrencyManager cm = (CurrencyManager)this.BindingContext[ProcedureTable.DataSource];
            Procedure_Table p = new Procedure_Table();

            switch (Camera[0].Procedure[cm.Position].ProcedureMethod)
            {
                case (int)procedure_M.readimage:

                    //載入圖片函式
                    AccessImage readthefuckingimage = new AccessImage();
                    //由檔案載入圖片
                    readthefuckingimage.ImagefromFile();
                    //設定顯示視窗
                    //readthefuckingimage.setwindow(MainWindow.HalconWindow);

                    if (readthefuckingimage.getObject().Image != null)
                    {
                        p.procedurefunction.doprocedurefunction += readthefuckingimage.show;
                        Camera[0].Object[cm.Position] = readthefuckingimage.getObject();
                        Camera[0].Procedure[cm.Position].Setornot = true;
                    }
                    break;

                case (int)procedure_M.Measure:

                    Measure M_temp = (Measure)Camera[0].Procedure[cm.Position].SettingForm;
                    if (cm.Position != 0)
                    {
                        M_temp.MeasureImage = Camera[0].Object[cm.Position - 1].Image;
                    }
                    M_temp.ShowDialog();

                    M_temp = (Measure)Camera[0].Procedure[cm.Position].SettingForm;
                    Camera[0].Procedure[cm.Position].Setornot = M_temp.setornot;

                    break;
                case (int)procedure_M.CreateMatchingModel:

                    CreateMatchingModel C_temp = (CreateMatchingModel)Camera[0].Procedure[cm.Position].SettingForm;
                    //if (cm.Position != 0)
                    //{
                    //    C_temp.MeasureImage = Camera[0].Object[cm.Position - 1].Image;
                    //}
                    C_temp.ShowDialog();

                    C_temp = (CreateMatchingModel)Camera[0].Procedure[cm.Position].SettingForm;
                    Camera[0].Procedure[cm.Position].Setornot = C_temp.setornot;

                    break;


            }
            setProcedurecolor(0);


        }
Example #2
0
        private void 建立匹配ModelToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //控制項目前cell位置
            CurrencyManager cm = (CurrencyManager)this.BindingContext[ProcedureTable.DataSource];
            //設定Procedure_Table顯示字串
            Procedure_Table p = new Procedure_Table();
            Object_Table O = new Object_Table();

            p.ProcedureName = "CreateMatchingModel";
            p.Setornot = false;
            p.ProcedureMethod = (int)procedure_M.CreateMatchingModel;
            p.SettingForm = new CreateMatchingModel();

            Camera[0].Procedure.Insert(cm.Position + 1, p);
            Camera[0].Object.Insert(cm.Position + 1, O);

            //重新排序Procedure編號
            remarkProcedure(0);

            //更新表格
            if (cm != null)
            {
                cm.Refresh();
                ProcedureTable.ClearSelection();

                if (ProcedureTable.RowCount < cm.Position + 1)
                {
                    ProcedureTable.Rows[cm.Position + 1].Selected = true;
                }
                else
                {
                    ProcedureTable.Rows[cm.Position].Selected = true;
                }
            }

            setProcedurecolor(0);
        }
Example #3
0
        int clk = 0;//載入圖片序數
        private void 載入圖片ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //控制項目前cell位置
            CurrencyManager cm = (CurrencyManager)this.BindingContext[ProcedureTable.DataSource];
            //設定Procedure_Table顯示字串
            Procedure_Table p = new Procedure_Table();
            Object_Table O = new Object_Table();
            p.ProcedureName = "載入圖片" + clk;
            p.Setornot = false;
            p.ProcedureMethod = (int)procedure_M.readimage;

            Camera[0].Procedure.Insert(cm.Position + 1, p);
            Camera[0].Object.Insert(cm.Position + 1, O);
            clk++;

            //重新排序Procedure編號
            remarkProcedure(0);

            //更新表格
            if (cm != null)
            {
                //更新表單(會將所有設定清除....)
                cm.Refresh();

                //新增之後將cm移至新增的項目上
                ProcedureTable.ClearSelection();
                if (ProcedureTable.RowCount < cm.Position + 1)
                {
                    ProcedureTable.Rows[cm.Position + 1].Selected = true;
                }
                else
                {
                    ProcedureTable.Rows[cm.Position].Selected = true;
                }
            }
            //設定Procedurecolor 依照是否已經設定好參數
            setProcedurecolor(0);

        }