-1

我收到了这个未处理的异常错误:见屏幕截图。

在此处输入图像描述

只有当我使用Ctrl+F5而不是F5(调试模式)运行时,我才会收到此错误。不确定这是否有帮助,我的电脑是 Windows 7-64 位并运行 32 位版本

根据这个讨论:如何让 WinForms 停止默默地忽略未处理的异常?,添加 Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException) 将导致 Windows 忽略该错误。

编辑: frmPlant_Load 事件

public partial class frmPlant : Form
    {
        DatabaseConnection _DbConnection = new DatabaseConnection();
        string conString = ConfigurationManager.ConnectionStrings["RVESTConnString"].ConnectionString;
        SQLQueries _SQlQueries = new SQLQueries();
        DataSet ds;
        SQLiteDataAdapter da;
       static DataTable gdt;
        int gSelectedPlant;
        string gSelectedPlantName = "";
        bool ignoreSelChg = false;
        bool DataDirty = false;
    public frmPlant()
        {
            InitializeComponent();        
        }
        public frmPlant(int sSelectedPlant)
        {
            InitializeComponent();           
        }
        private void frmPlant_Load(object sender, EventArgs e)
        {

            ds = FillData();
            gdt = ds.Tables[0];
            bindingSource1.DataSource = gdt;
            dataGridView1.DataSource = bindingSource1;
            gSelectedPlant = StaticClass.GlobalValue;
            dataGridView1.AutoGenerateColumns = true;
            dataGridView1.Columns["PlantId"].Visible = false;
            dataGridView1.Columns["NSSS_Design"].Width = 70;          
        }
        private DataSet FillData()
        {
            ignoreSelChg = true;
            SQLiteConnection con = new SQLiteConnection(conString);
            DataSet dPlant;
            try
            {
                con.Open();
                SQLiteCommand cmd = new SQLiteCommand("select * from Plant", con);
                da = new SQLiteDataAdapter("select * from Plant", con);
                dPlant = new DataSet();
                da.Fill(dPlant, "plant"); 

            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                con.Close();
            }
            return dPlant;
        }

我还应该补充另一个问题:当我在对话框中说“继续”时,它工作正常,但后台进程仍在运行。我必须在任务管理器中手动去杀死它

问题:假设我在 Program.cs 中添加这一行,它会忽略任何需要修复的甚至是真正的错误吗?

更多代码: 单击第二个屏幕-初始设置屏幕上的按钮会弹出此对话框。第一个是启动画面。初始设置将我带到工厂表单

这是初始设置屏幕的代码

     public partial class frmInitialSetUp : Form
    {
        public frmInitialSetUp()
        {
            InitializeComponent();
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            Program.fPlant = new frmPlant();
            Program.fPlant.Show();
            this.Hide();
        }

        private void frmInitialSetUp_Load(object sender, EventArgs e)
        {
            Program.LoadAllForms();   
        }
    }
}
Program.cs
      static public void LoadAllForms()
        {
            try
            {
                Program.fInitialSetUp = new frmInitialSetUp();
                Program.fPlant = new frmPlant();
                Program.frm*** = new frm***();
                Program.frm*** = new frm***();
                Program.frm*** = new frm***();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

在按钮上单击

4

1 回答 1

1

将 frmload 包含在 try { } catch(unhandledexception ex) {} 中并在调试模式下运行它这次调试器捕获了它。这是 datagridview 列的一个小问题

于 2012-06-02T22:37:04.270 回答