Example #1
0
 private void tsbDel_Click(object sender, EventArgs e)
 {
     try
     {
         if (!MyLove.PermissionsBalidation(this.Text, "02"))
         {
             return;
         }
         if (this.dataGrid1.CurrentRow() != null)
         {
             string sheet_no = this.dataGrid1.CurrentRow()["sheet_no"].ToString();
             if (YesNoForm.ShowFrom("确认删除单据" + sheet_no + "?") == DialogResult.Yes)
             {
                 IBLL.IFYOrder bll = new BLL.FYOrder();
                 bll.Delete(sheet_no);
                 var tb = this.dataGrid1.DataSource;
                 tb.Rows.Remove(this.dataGrid1.CurrentRow());
                 this.dataGrid2.DataSource = new DataTable();
                 this.dataGrid1.Refresh();
             }
         }
     }
     catch (Exception ex)
     {
         MsgForm.ShowFrom(ex);
     }
 }
Example #2
0
 private void tsbCheck_Click(object sender, EventArgs e)
 {
     try
     {
         if (!MyLove.PermissionsBalidation(this.Text, "05"))
         {
             return;
         }
         if (this.dataGrid1.CurrentRow() != null)
         {
             string        sheet_no = this.dataGrid1.CurrentRow()["sheet_no"].ToString();
             IBLL.IFYOrder bll      = new BLL.FYOrder();
             bll.Check(sheet_no, Program.oper.oper_id);
             var row = this.dataGrid1.CurrentRow();
             row["approve_flag"] = "1";
             row["approve_man"]  = Program.oper.oper_id;
             row["approve_date"] = System.DateTime.Now;
             this.dataGrid1.Refresh();
         }
     }
     catch (Exception ex)
     {
         MsgForm.ShowFrom(ex);
     }
 }
Example #3
0
        private void tsbDel_Click(object sender, EventArgs e)
        {
            try
            {
                if (!MyLove.PermissionsBalidation(this.Text, "02"))
                {
                    return;
                }
                if (txtsheet_no.Text.Trim() != "")
                {
                    string sheet_no = txtsheet_no.Text.Trim();

                    if (YesNoForm.ShowFrom("确认删除单据" + sheet_no + "?") == DialogResult.Yes)
                    {
                        IBLL.IFYOrder bll = new BLL.FYOrder();
                        bll.Delete(sheet_no);
                        IOrder ins = this;
                        ins.Add();
                    }
                }
            }
            catch (Exception ex)
            {
                MsgForm.ShowFrom(ex);
            }
        }
Example #4
0
        public void GetPrintTb()
        {
            if (string.IsNullOrEmpty(this.txtsheet_no.Text))
            {
                throw new Exception("请选择单据!");
            }

            IBLL.IFYOrder bll = new BLL.FYOrder();
            DataTable     tb1;
            DataTable     tb2;

            bll.GetOrder(this.txtsheet_no.Text, out tb1, out tb2);

            PrintForm.PrintHelper.tb_main   = tb1;
            PrintForm.PrintHelper.tb_detail = tb2;
        }
Example #5
0
        private void dataGrid1_CurrentCellChange(object sender, string column_name, DataRow row)
        {
            try
            {
                if (sheet_no != row["sheet_no"].ToString())
                {
                    System.Threading.Thread th = new System.Threading.Thread(() =>
                    {
                        Cursor.Current = Cursors.WaitCursor;
                        Helper.GlobalData.windows.ShowLoad(this);
                        try
                        {
                            sheet_no          = row["sheet_no"].ToString();
                            IBLL.IFYOrder bll = new BLL.FYOrder();
                            System.Data.DataTable tb1;
                            System.Data.DataTable tb2;
                            bll.GetOrder(sheet_no, out tb1, out tb2);

                            this.dataGrid2.Invoke((MethodInvoker) delegate
                            {
                                this.dataGrid2.DataSource = tb2;
                            });
                        }
                        catch (Exception ex)
                        {
                            IvyBack.Helper.LogHelper.writeLog("SysSetting_Load", ex.ToString());
                            MsgForm.ShowFrom(ex);
                        }
                        Cursor.Current = Cursors.Default;
                        Helper.GlobalData.windows.CloseLoad(this);
                    });
                    th.Start();
                }
            }
            catch (Exception ex)
            {
                MsgForm.ShowFrom(ex);
            }
        }
Example #6
0
 private void tsbCheck_Click(object sender, EventArgs e)
 {
     try
     {
         if (!MyLove.PermissionsBalidation(this.Text, "05"))
         {
             return;
         }
         if (txtsheet_no.Text.Trim() != "")
         {
             string        sheet_no = txtsheet_no.Text.Trim();
             IBLL.IFYOrder bll      = new BLL.FYOrder();
             bll.Check(sheet_no, Program.oper.oper_id);
             IOrder ins = this;
             ins.ShowOrder(sheet_no);
         }
     }
     catch (Exception ex)
     {
         MsgForm.ShowFrom(ex);
     }
 }
Example #7
0
        private void refreshData()
        {
            try
            {
                System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
                //
                DateTime date1;
                DateTime date2;
                DateTime.TryParse(dateTextBox1.Text.Trim(), out date1);
                DateTime.TryParse(dateTextBox2.Text.Trim(), out date2);
                string text = myTextBox1.Text.Split('/')[0];
                System.Threading.Thread th = new System.Threading.Thread(() =>
                {
                    Cursor.Current = Cursors.WaitCursor;
                    Helper.GlobalData.windows.ShowLoad(this);
                    try
                    {
                        IBLL.IFYOrder bll = new BLL.FYOrder();

                        if (date1 == DateTime.MinValue)
                        {
                            throw new Exception("期间不正确");
                        }
                        if (date2 == DateTime.MinValue)
                        {
                            throw new Exception("期间不正确");
                        }
                        DataTable tb = bll.GetList(date1, date2, text);


                        this.dataGrid1.Invoke((MethodInvoker) delegate
                        {
                            this.dataGrid1.DataSource = tb;
                            if (tb.Rows.Count > 0)
                            {
                                sheet_no = tb.Rows[0]["sheet_no"].ToString();

                                System.Data.DataTable tb1;
                                System.Data.DataTable tb2;
                                bll.GetOrder(sheet_no, out tb1, out tb2);

                                this.dataGrid2.Invoke((MethodInvoker) delegate
                                {
                                    this.dataGrid2.DataSource = tb2;
                                });
                            }
                        });
                    }
                    catch (Exception ex)
                    {
                        IvyBack.Helper.LogHelper.writeLog("refreshData", ex.ToString());
                        MsgForm.ShowFrom(ex);
                    }
                    Cursor.Current = Cursors.Default;
                    Helper.GlobalData.windows.CloseLoad(this);
                });
                th.Start();
            }
            catch (Exception ex)
            {
                MsgForm.ShowFrom(ex);
            }
            finally
            {
                System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
            }
        }
Example #8
0
        void IServiceBase.Request(string t, string pars, out string res)
        {
            try
            {
                ReadWriteContext.IReadContext r = new ReadWriteContext.ReadContextByJson(pars);
                var           kv  = r.ToDictionary();
                IBLL.IFYOrder bll = new BLL.FYOrder();
                if (t == "get_list")
                {
                    DateTime date1   = Helper.Conv.ToDateTime(r.Read("date1"));
                    DateTime date2   = Helper.Conv.ToDateTime(r.Read("date2"));
                    string   visa_id = r.Read("visa_id");
                    var      tb      = bll.GetList(date1, date2, visa_id);
                    ReadWriteContext.IWriteContext w = new ReadWriteContext.WriteContextByJson();
                    w.Append("errId", "0");
                    w.Append("errMsg", "");
                    w.Append("data", tb);

                    res = w.ToString();
                }
                else if (t == "get_order")
                {
                    string sheet_no = r.Read("sheet_no");
                    System.Data.DataTable tb1;
                    System.Data.DataTable tb2;
                    bll.GetOrder(sheet_no, out tb1, out tb2);
                    ReadWriteContext.IWriteContext w = new ReadWriteContext.WriteContextByJson();
                    w.Append("errId", "0");
                    w.Append("errMsg", "");
                    w.Append("tb1", tb1);
                    w.Append("tb2", tb2);
                    res = w.ToString();
                }
                else if (t == "max_code")
                {
                    string code = bll.MaxCode();
                    ReadWriteContext.IWriteContext w = new ReadWriteContext.WriteContextByJson();
                    w.Append("errId", "0");
                    w.Append("errMsg", "");
                    w.Append("code", code);
                    res = w.ToString();
                }
                else if (t == "add")
                {
                    Model.bank_t_cash_master ord = new Model.bank_t_cash_master();
                    ord.sheet_no     = r.Read("sheet_no");
                    ord.branch_no    = r.Read("branch_no");
                    ord.voucher_no   = r.Read("voucher_no");
                    ord.visa_id      = r.Read("visa_id");
                    ord.visa_in      = "";
                    ord.pay_way      = r.Read("pay_way");
                    ord.coin_no      = "RMB";
                    ord.coin_rate    = 1;
                    ord.deal_man     = r.Read("deal_man");
                    ord.oper_id      = r.Read("oper_id");
                    ord.oper_date    = Helper.Conv.ToDateTime(r.Read("oper_date"));
                    ord.bill_total   = Helper.Conv.ToDecimal(r.Read("bill_total"));
                    ord.bill_flag    = r.Read("bill_flag");
                    ord.cm_branch    = "00";
                    ord.approve_flag = "0";
                    ord.approve_man  = "";
                    ord.approve_date = System.DateTime.MinValue;
                    ord.other1       = r.Read("other1");
                    ord.other2       = r.Read("other2");
                    ord.other3       = r.Read("other3");
                    ord.num1         = Helper.Conv.ToDecimal(r.Read("num1"));
                    ord.num2         = Helper.Conv.ToDecimal(r.Read("num2"));
                    ord.num3         = Helper.Conv.ToDecimal(r.Read("num3"));
                    List <Model.bank_t_cash_detail> lines = new List <Model.bank_t_cash_detail>();
                    foreach (ReadWriteContext.IReadContext r2 in r.ReadList("lines"))
                    {
                        Model.bank_t_cash_detail line = new Model.bank_t_cash_detail();
                        lines.Add(line);
                        line.sheet_no  = ord.sheet_no;
                        line.type_no   = r2.Read("type_no");
                        line.bill_cash = Helper.Conv.ToDecimal(r2.Read("bill_cash"));
                        line.memo      = r2.Read("memo");
                    }
                    string sheet_no = "";
                    bll.Add(ord, lines, out sheet_no);
                    ReadWriteContext.IWriteContext w = new ReadWriteContext.WriteContextByJson();
                    w.Append("errId", "0");
                    w.Append("errMsg", "");
                    w.Append("sheet_no", sheet_no);

                    res = w.ToString();
                }
                else if (t == "change")
                {
                    Model.bank_t_cash_master ord = new Model.bank_t_cash_master();
                    ord.sheet_no     = r.Read("sheet_no");
                    ord.branch_no    = r.Read("branch_no");
                    ord.voucher_no   = r.Read("voucher_no");
                    ord.visa_id      = r.Read("visa_id");
                    ord.visa_in      = "";
                    ord.pay_way      = r.Read("pay_way");
                    ord.coin_no      = "RMB";
                    ord.coin_rate    = 1;
                    ord.deal_man     = r.Read("deal_man");
                    ord.oper_id      = r.Read("oper_id");
                    ord.oper_date    = Helper.Conv.ToDateTime(r.Read("oper_date"));
                    ord.bill_total   = Helper.Conv.ToDecimal(r.Read("bill_total"));
                    ord.bill_flag    = r.Read("bill_flag");
                    ord.cm_branch    = "00";
                    ord.approve_flag = "0";
                    ord.approve_man  = "";
                    ord.approve_date = System.DateTime.MinValue;
                    ord.other1       = r.Read("other1");
                    ord.other2       = r.Read("other2");
                    ord.other3       = r.Read("other3");
                    ord.num1         = Helper.Conv.ToDecimal(r.Read("num1"));
                    ord.num2         = Helper.Conv.ToDecimal(r.Read("num2"));
                    ord.num3         = Helper.Conv.ToDecimal(r.Read("num3"));
                    List <Model.bank_t_cash_detail> lines = new List <Model.bank_t_cash_detail>();
                    foreach (ReadWriteContext.IReadContext r2 in r.ReadList("lines"))
                    {
                        Model.bank_t_cash_detail line = new Model.bank_t_cash_detail();
                        lines.Add(line);
                        line.sheet_no  = ord.sheet_no;
                        line.type_no   = r2.Read("type_no");
                        line.bill_cash = Helper.Conv.ToDecimal(r2.Read("bill_cash"));
                        line.memo      = r2.Read("memo");
                    }
                    bll.Change(ord, lines);
                    ReadWriteContext.IWriteContext w = new ReadWriteContext.WriteContextByJson();
                    w.Append("errId", "0");
                    w.Append("errMsg", "");

                    res = w.ToString();
                }
                else if (t == "delete")
                {
                    string sheet_no = r.Read("sheet_no");
                    bll.Delete(sheet_no);
                    ReadWriteContext.IWriteContext w = new ReadWriteContext.WriteContextByJson();
                    w.Append("errId", "0");
                    w.Append("errMsg", "");

                    res = w.ToString();
                }
                else if (t == "check")
                {
                    string sheet_no    = r.Read("sheet_no");
                    string approve_man = r.Read("approve_man");
                    bll.Check(sheet_no, approve_man);
                    ReadWriteContext.IWriteContext w = new ReadWriteContext.WriteContextByJson();
                    w.Append("errId", "0");
                    w.Append("errMsg", "");

                    res = w.ToString();
                }
                else
                {
                    throw new Exception("未找到方法" + t);
                }
            }
            catch (Exception ex)
            {
                ReadWriteContext.IWriteContext w = new ReadWriteContext.WriteContextByJson();
                w.Append("errId", "-1");
                w.Append("errMsg", ex.Message);
                LogHelper.writeLog("", ex.ToString());
                res = w.ToString();
            }
        }
Example #9
0
        void IOrder.ShowOrder(string sheet_no)
        {
            try
            {
                System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
                //
                RunType = 2;

                IBLL.IFYOrder bll = new BLL.FYOrder();
                DataTable     tb1;
                DataTable     tb2;
                bll.GetOrder(sheet_no, out tb1, out tb2);
                //

                //
                var r1 = tb1.Rows[0];
                if (r1["pay_way"].ToString() == "")
                {
                    txtpay_way.Text = "";
                }
                else
                {
                    txtpay_way.Text = r1["pay_way"].ToString() + "/" + r1["pay_name"].ToString();
                }
                if (r1["branch_no"].ToString() == "")
                {
                    txtbranch.Text = "";
                }
                else
                {
                    txtbranch.Text = r1["branch_no"].ToString() + "/" + r1["branch_name"].ToString();
                }
                txtsheet_no.Text  = r1["sheet_no"].ToString();
                txtoper_date.Text = Helper.Conv.ToDateTime(r1["oper_date"].ToString()).ToString("yyyy-MM-dd");
                if (r1["deal_man"].ToString() == "")
                {
                    txtpeople.Text = "";
                }
                else
                {
                    txtpeople.Text = r1["deal_man"].ToString() + "/" + r1["deal_man_name"].ToString();
                }
                if (r1["approve_man"].ToString() == "")
                {
                    txtapprove_man.Text = "";
                }
                else
                {
                    txtapprove_man.Text = r1["approve_man"].ToString() + "/" + r1["approve_man_name"].ToString();
                }
                if (r1["oper_id"].ToString() == "")
                {
                    txtoper_man.Text = "";
                }
                else
                {
                    txtoper_man.Text = r1["oper_id"] + "/" + r1["oper_name"];
                }
                txtmemo.Text = r1["other1"].ToString();
                DateTime dt;
                if (DateTime.TryParse(r1["approve_date"].ToString(), out dt) == true)
                {
                    txtapprove_date.Text = dt.ToString("yyyy-MM-dd");
                }
                else
                {
                    txtapprove_date.Text = "";
                }
                txtold_no.Text = r1["voucher_no"].ToString();
                if (r1["visa_id"].ToString() == "")
                {
                    txtvisa.Text = "";
                }
                else
                {
                    txtvisa.Text = r1["visa_id"].ToString() + "/" + r1["visa_name"].ToString();
                }
                //
                editGrid1.DataSource = tb2;

                Dictionary <string, object> dic = this.Tag as Dictionary <string, object>;
                this.Tag = Helper.Conv.ControlsAdds(this, dic);
            }
            catch (Exception ex)
            {
                MsgForm.ShowFrom(ex);
            }
            finally
            {
                System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
            }
        }
Example #10
0
        public frmFYOrder()
        {
            InitializeComponent();
            //
            Helper.GlobalData.InitForm(this);
            //
            var tb = new DataTable();

            tb.Columns.Add("type_no");
            tb.Columns.Add("type_name");
            tb.Columns.Add("bill_cash");
            tb.Columns.Add("type_flag");
            tb.Columns.Add("memo");

            editGrid1.AddColumn("type_no", "费用代码", "", 90, 1, "", true);
            editGrid1.AddColumn("type_name", "费用名称", "", 140, 1, "", false);
            editGrid1.AddColumn("bill_cash", "费用(金额)", "", 100, 3, "0.00", true);
            editGrid1.AddColumn("type_flag", "收支类型", "", 75, 2, "{0:-,1:+}", false);
            editGrid1.AddColumn("memo", "备注", "", 250, 1, "", true);
            editGrid1.DataSource = tb;
            //
            try
            {
                System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
                //
                System.Threading.Thread th = new System.Threading.Thread(() =>
                {
                    Cursor.Current = Cursors.WaitCursor;
                    Helper.GlobalData.windows.ShowLoad(this);
                    try
                    {
                        BLL.FYOrder bll = new BLL.FYOrder();

                        var editgrid = bll.GetSZList();
                        this.editGrid1.Invoke((MethodInvoker) delegate
                        {
                            var edgrid = editgrid.Copy();
                            foreach (DataRow dr in edgrid.Rows)
                            {
                                dr["pay_kind"] = dr["pay_kind"].ToInt32() == 0 ? "-" : "+";
                            }
                            editGrid1.Bind("type_no", edgrid, 400, 200, "pay_way", "pay_way:费用代码:80,pay_name:费用名称:150,pay_kind:方向:60", "pay_way->type_no,pay_name->type_name,pay_kind->type_flag");
                        });

                        IBLL.IPayment paymentBLL = new BLL.PaymentBLL();

                        var pay_way = paymentBLL.GetAllList();
                        this.txtpay_way.Invoke((MethodInvoker) delegate
                        {
                            this.txtpay_way.Bind(pay_way, 300, 200, "pay_way", "pay_way:类型编码:100,pay_name:付款类型:150", "pay_way/pay_name->Text");
                        });

                        IBLL.IBank bankBLL = new BLL.BankBLL();
                        var visa           = bankBLL.GetAllList();
                        this.txtvisa.Invoke((MethodInvoker) delegate
                        {
                            txtvisa.Bind(visa, 300, 200, "visa_id", "visa_id:编号:100,visa_nm:名称:130", "visa_id/visa_nm->Text");
                        });

                        IBLL.IBranch branchBLL = new BLL.BranchBLL();
                        var branch             = branchBLL.GetAllList(4);
                        this.txtbranch.Invoke((MethodInvoker) delegate
                        {
                            txtbranch.Bind(branch, 300, 200, "branch_no", "branch_no:机构号:80,branch_name:机构名:140", "branch_no/branch_name->Text");
                        });

                        IBLL.IPeople peopleBLL = new BLL.PeopleBLL();
                        int tmp;
                        var people = peopleBLL.GetDataTable("", "", 1, 1, 20000, out tmp);

                        this.txtpeople.Invoke((MethodInvoker) delegate
                        {
                            txtpeople.Bind(people, 250, 200, "oper_id", "oper_id:职员编号:80,oper_name:姓名:80", "oper_id/oper_name->Text");
                        });

                        this.Invoke((MethodInvoker) delegate
                        {
                            IOrder ins = this;
                            ins.Add();
                        });
                    }
                    catch (Exception ex)
                    {
                        IvyBack.Helper.LogHelper.writeLog("frmFYOrder", ex.ToString());
                        MsgForm.ShowFrom(ex);
                    }
                    Cursor.Current = Cursors.Default;
                    Helper.GlobalData.windows.CloseLoad(this);
                });
                th.Start();
            }
            catch (Exception ex)
            {
                MsgForm.ShowFrom(ex);
            }
            finally
            {
                System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
            }
        }
Example #11
0
        void IOrder.Save()
        {
            try
            {
                System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
                //
                if (txtpay_way.Text.Trim().Contains("/") == false)
                {
                    throw new Exception("付款方式必填!");
                }
                if (txtbranch.Text.Trim().Contains("/") == false)
                {
                    throw new Exception("机构必填!");
                }
                if (txtoper_date.Text.Trim() == "")
                {
                    throw new Exception("单据日期必填!");
                }
                if (this.txtvisa.Text.Trim().Contains("/") == false)
                {
                    throw new Exception("账户必填!");
                }
                Model.bank_t_cash_master ord = new Model.bank_t_cash_master();
                ord.sheet_no     = txtsheet_no.Text.Trim();
                ord.branch_no    = txtbranch.Text.Trim().Split('/')[0];
                ord.voucher_no   = txtold_no.Text.Trim();
                ord.visa_id      = txtvisa.Text.Trim().Split('/')[0];
                ord.visa_in      = "";
                ord.pay_way      = txtpay_way.Text.Split('/')[0];
                ord.coin_no      = "RMB";
                ord.coin_rate    = 1;
                ord.deal_man     = txtpeople.Text.Trim().Split('/')[0];
                ord.oper_id      = txtoper_man.Text.Trim().Split('/')[0];
                ord.oper_date    = Helper.Conv.ToDateTime(txtoper_date.Text);
                ord.bill_flag    = "S";
                ord.cm_branch    = "00";
                ord.approve_flag = "0";
                ord.approve_man  = "";
                ord.approve_date = System.DateTime.MinValue;
                ord.other1       = txtmemo.Text.Trim();
                ord.other2       = "";
                ord.other3       = "";
                ord.num1         = 0;
                ord.num2         = 0;
                ord.num3         = 0;
                int flag = 0;
                List <Model.bank_t_cash_detail> lines = new List <Model.bank_t_cash_detail>();
                int index = 0;
                foreach (DataRow row in editGrid1.DataSource.Rows)
                {
                    index++;
                    if (row["type_no"].ToString() != "")
                    {
                        if (Helper.Conv.ToDecimal(row["bill_cash"].ToString()) <= 0)
                        {
                            throw new Exception("第i行费用金额不正确!".Replace("i", index.ToString()));
                        }
                        Model.bank_t_cash_detail line = new Model.bank_t_cash_detail();
                        lines.Add(line);
                        line.sheet_no  = ord.sheet_no;
                        line.type_no   = row["type_no"].ToString();
                        line.bill_cash = Helper.Conv.ToDecimal(row["bill_cash"].ToString());
                        line.memo      = row["memo"].ToString();

                        ord.bill_total = line.bill_cash;

                        flag = 1;
                        break;
                    }
                }
                if (flag == 0)
                {
                    throw new Exception("表体无合法数据!");
                }
                if (runType == 1)
                {
                    IBLL.IFYOrder bll = new BLL.FYOrder();
                    string        sheet_no;
                    bll.Add(ord, lines, out sheet_no);
                    IOrder ins = this;
                    ins.ShowOrder(sheet_no);
                }
                else if (runType == 2)
                {
                    IBLL.IFYOrder bll = new BLL.FYOrder();
                    bll.Change(ord, lines);
                    IOrder ins = this;
                    ins.ShowOrder(ord.sheet_no);
                }

                Dictionary <string, object> dic = this.Tag as Dictionary <string, object>;
                this.Tag = Helper.Conv.ControlsAdds(this, dic);

                IBLL.ISys sys       = new BLL.SysBLL();
                string    isApprove = sys.Read("approve_at_ones");
                if ("1".Equals(isApprove))
                {
                    if (YesNoForm.ShowFrom("保存成功!是否立即审核") == DialogResult.Yes)
                    {
                        tsbCheck_Click(new object(), new EventArgs());
                    }
                }
            }
            catch (Exception ex)
            {
                MsgForm.ShowFrom(ex);
            }
            finally
            {
                System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
            }
        }